Как использовать GitHub Actions для развертывания на несколько серверов
Здесь описывается процесс создания и настройки рабочего процесса (workflow) с использованием GitHub Actions для непрерывной доставки (continuous delivery) веб-приложения, в данном случае Laravel, на несколько серверов без простоев. Вот краткое изложение основных шагов и концепций, описанных в статье:
1️⃣Создание артефактов сборки: Задача этого шага — создать архив с кодом, готовым к развёртыванию на продакшен серверы. Включает в себя установку зависимостей NPM, компиляцию CSS и JavaScript, установку зависимостей Composer, архивирование сборки и хранение артефакта для последующего развёртывания.
2️⃣Подготовка релиза на всех серверах: Этот шаг гарантирует, что развёртывание на всех серверах будет стабильным и надёжным. Включает в себя создание директорий для хранения всех релизов, распаковку сборки на сервере, выполнение необходимых действий до развёртывания (before hooks) и активацию релиза.
3️⃣Выполнение необходимых действий перед развёртыванием (before hooks): Опциональный шаг, который позволяет выполнить определённые команды перед активацией нового релиза, такие как миграции базы данных.
4️⃣Активация релиза: Самый важный шаг, который активирует новый релиз без простоев. Включает в себя установку необходимых символических ссылок, перезагрузку PHP FPM и другие необходимые действия для обновления приложения.
5️⃣Выполнение необходимых действий после развёртывания (after hooks): Опциональный шаг, аналогичный before hooks, но выполняется после активации релиза.
6️⃣Очистка: Завершающий шаг, который удаляет устаревшие релизы и артефакты, чтобы освободить место на сервере.
Post #4287
2.79K
- 👍 4