我们目前遇到一个非常奇怪的问题。我们的技术堆栈涉及AWS Elastic Beanstalk,EC2和Laravel通过Bitbucket Pipelines部署代码。
问题是,只要我们在部署中包含迁移,它就会运行两次(与在此环境中的EC2实例一样多!)。
我们的脚本位于['s','t']
目录下:
.ebextensions
我们最终中断了几次部署,因为系统无法告知此迁移已在运行。
有人以前见过这个问题吗?
更新
我们提出了此实现,因为如果添加,MySQL连接将被拒绝
option_settings:
"aws:elasticbeanstalk:container:php:phpini":
document_root: /public
container_commands:
01initdb:
command: "php artisan migrate"
在构建脚本中。
答案 0 :(得分:2)
有很多方法可以做到这一点:
leader_only: true
标志以仅在单个实例上运行命令就可以了!