Простой деплой сайтов на 1С-Битрикс
Написал простой скрипт для деплоя сайтов на bitrix.
Что делает:
- cтягивает актуальный код с удалённого репозитория
- запускает применение миграций базы данных
- ставит новый тег (патч) и пушит его
- чистит кеш всего сайта
Ну а теперь поподробнее.
Для начала сам код скрипта для деплоя
Сохраняем файл в /root/deploy.sh
Ставим ему права на выполнение:
$ chmod +x /root/deploy.sh
Использование
В скрипте объявлена переменная options — это массив сайтов, которые доступны для деплоя. Его нужно заполнить самостоятельно. Каждый элемент его состоит из 2 частей, соединённых символом «|». Первая часть — путь к сайту от корня сервера, вторая — то, что будет выводится в консоли сервера, при запуске скрипта деплоя.
Вбиваем в консоли сервера:
$ /root/deploy.sh
Скрипт предложит выбрать сайт, на который нужно задеплоить изменения. Выглядит это примерно так:
https://yadi.sk/i/tVD6vPbLsEZz8
Далее отвечаем на несколько простых вопросов скрипта деплоя. И после успешного деплоя увидим радостное сообщение Done.
Инструменты
- Для миграций баз данных используется модуль Миграции схемы данных. Авторам огромное спасибо!
- bash
Нюансы
- Скрипт ожидает, что ветка master хранит в себе самый актуальный и стабильный код
- Версионирование репозитория ведётся семантически — минор.мажор.патч (пример: 1.0.2). На момент первого запуска скрипта деплоя версия уже должна стоять
P.S.
Конечно, этот скрипт не предназначен для супер-серьёзных проектов, так как сайт деплоится наживую. Но! С применением Continius Integration деплой занимает несколько секунд и никак не влияет на работу сайта.
А как вы деплоите свои сайты?