如果具有非常简单的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
但是显然这是行不通的,因为它将在数据库服务中运行该命令。
因此,简而言之,我应该在哪里放置依赖于正在启动的服务的构建命令?那有可能吗?