Написал простой скрипт для деплоя сайтов на bitrix.

Что делает:

  • cтягивает актуальный код с удалённого репозитория
  • запускает применение миграций базы данных
  • ставит новый тег (патч) и пушит его
  • чистит кеш всего сайта

Ну а теперь поподробнее.

Для начала сам код скрипта для деплоя

Сохраняем файл в /root/deploy.sh

Ставим ему права на выполнение:

$ chmod +x /root/deploy.sh

Использование

В скрипте объявлена переменная options — это массив сайтов, которые доступны для деплоя. Его нужно заполнить самостоятельно. Каждый элемент его состоит из 2 частей, соединённых символом «|». Первая часть — путь к сайту от корня сервера, вторая — то, что будет выводится в консоли сервера, при запуске скрипта деплоя.

Вбиваем в консоли сервера:

$ /root/deploy.sh

Скрипт предложит выбрать сайт, на который нужно задеплоить изменения. Выглядит это примерно так:

https://yadi.sk/i/tVD6vPbLsEZz8

Далее отвечаем на несколько простых вопросов скрипта деплоя. И после успешного деплоя увидим радостное сообщение Done.

Инструменты

Нюансы

  • Скрипт ожидает, что ветка master хранит в себе самый актуальный и стабильный код
  • Версионирование репозитория ведётся семантически — минор.мажор.патч (пример: 1.0.2). На момент первого запуска скрипта деплоя версия уже должна стоять

P.S.

Конечно, этот скрипт не предназначен для супер-серьёзных проектов, так как сайт деплоится наживую. Но! С применением Continius Integration деплой занимает несколько секунд и никак не влияет на работу сайта.

А как вы деплоите свои сайты?