Стратегия непрерывной интеграции на Laravel

Рассмотрим следующий сценарий:

code-release.sh Сценарий принимает готовое имя ветви, которое отправляется в Бит ведроGit репозиторий. Веб-крючок запускает Код корабля поэтому все тесты выполняются как стратегия CI, где, в случае успеха, скрипт php запрашивается в домене моего приложения.

Теперь моя цель состоит в том, чтобы этот скрипт мог подготовить релиз к использованию, поэтому я должен

  1. git pull [master]
  2. обновление композитора
  3. php ремесленник мигрировать

На данный момент мои инстинкты крики не запускать автоматический php artisan migrate потому что он будет вонять в какой-то момент. Но это будет означать необходимость вмешательства человека всякий раз, когда необходимо выполнить миграцию, и, возможно, разрыв кода после того, как непрерывная интеграция запускает развертывание, и до того, как кто-то запустит миграцию вручную.

То, что я мог придумать, было шагом, чтобы назвать database-backup.sh прямо перед выполнением миграции.

В любом случае, я уверен, что есть кто-то, кто использует Laravel и CI / CD, и я хотел бы знать, как можно решить эту ситуацию.

5

Решение

Недавно мне пришлось настроить Непрерывную интеграцию для внешнего интерфейса JavaScript и внутреннего интерфейса Laravel. Я сделал это с Дженкинсом.

Работы по сборке Laravel последовали этот рецепт.

Все инструменты php были установлены на сервере сборки и добавлены в PATH.

Работал как рекламируется.

1

Другие решения

Других решений пока нет …