我已经完成了所有这些事情来部署我的应用程序,但我无法在部署中运行
php artisan migrate
。我尝试了从container_commands
到.ebextensions/.platform/hooks
的许多解决方案,但没有任何效果。我什至尝试通过 ssh 进入 ec2 实例并手动运行 migrate 命令,但收到错误消息,指出连接不起作用,因为未设置环境变量。这导致我认为我需要登录(docker exec ...)到在 ec2 实例上运行的 docker 容器,但是当我尝试一个简单的 docker ps
命令时,我收到一条错误消息,指出 docker 是未知命令。这令人难以置信,因为 aws eb 文档说 EB 正在运行 docker 容器。
此时我完全不知所措。我错过了什么?
在
scripts.config
文件夹中创建 .ebextensions
。
您可以在
scripts.config
内添加如下代码。部署代码时它将自动运行。您也可以在 elastic-beanstalk 应用程序中看到日志。
它将显示错误/成功日志。
container_commands:
01-migration:
command: "php artisan migrate --force"
leader_only: true
02-migration:
command: "php artisan db:seed --force"
leader_only: true
03-migration:
command: "php artisan db:seed --class=DefaultFormSeeder --force"
leader_only: true