Мы используем Atlassian Bamboo для развертывания наших веб-приложений на тестовых и производственных серверах. Это двухэтапный процесс.
- собрать и протестировать релиз
- развернуть релиз в среде
Это работает относительно стабильно, но мы сталкиваемся с некоторыми проблемами с проектами Symfony 2.
Шаг 1 просто проверяет самую последнюю версию приложения из Git, выполняет некоторые тесты и другие задачи, включая composer:install
. Последний будет выполнять некоторые сценарии (после установки): buildBootstrap
, clearCache
, installAssets
, installRequirementsFile
и removeSymfonyStandardFiles
.
Этот шаг выполняется на сервере сборки. Поскольку файл parameters.yml
отсутствует в Git, установка композитора не выполняется. Если мы сделаем composer install --no-scripts
, сборка завершится успешно, поскольку эти сценарии никогда не вызываются.
Шаг 2 - отправить файлы на рабочий сервер, установить parameters.yml
(который копируется из заранее определенного места на целевом сервере), выполнить app/console cache:clear
и app/console assets:install
. Релиз выглядит нормально на целевом сервере, но сценарии buildBootstrap
, installRequirementsFile
и removeSymfonyStandardFiles
или их эквиваленты не запущены. Каковы последствия этого? Существуют ли для них какие-либо альтернативы приложения / консоли (при запуске app/console
ничего не отображается)?
Или мы просто делаем это неправильно? Мы хотим, чтобы сервер сборки выполнял столько же работы, так как целевые серверы часто ограничены в возможностях (например, общий хостинг).