Если есть очень простой рабочий процесс Lando для настройки проекта с нуля.Он включает в себя клонирование git с открытым исходным кодом, использование composer для установки всех зависимостей и запуска его установщика из CLI.
Я использую рецепт LAMP в качестве основы для этого потока:
name: project
recipe: lamp
config:
webroot: framework/
services:
appserver:
build:
- /bin/sh -c "if [ -d framework ]; then rm -Rf framework; fi"
- git clone --depth 1 --branch 1.0 https://github.com/framework/framework.git /app/framework
- cd /app/framework && composer install
run:
- php /app/framework/install.php --db_server=database --db_name=lamp --db_user=lamp --db_password=lamp
- cd /app/framework && composer install
Теперь проблема в том, что установка обычно завершается неудачно, поскольку служба базы данных еще не запущена.
Так что я попытался поиграться с событиями, попробовав post-rebuild
post-start
и т. Д. Однако это происходитчасто, приводя к таким вещам, как множественные установки композитора.
Мой ход мыслей касался конкретных действий с конкретными контейнерами, например:
events:
post-start:
- database: install-framework
Но, очевидно, это не работает, так какбудет выполнять эту команду внутри службы базы данных.
Итак, где я могу разместить команды построения, основанные на запуске служб?Это вообще возможно?