Jua*_*ado 5 amazon-web-services elastic-beanstalk aws-cli docker
我正在使用多容器设置在 Elastic Beanstalk 上运行一个站点。我想知道获取最新图像的首选策略是什么。
在 CI 服务器上,成功提交到 master 后,我正在构建 Docker 镜像,将它们发送到 AWS Elastic Container Service 中的存储库,然后运行如下内容:
CURRENT_VERSION=`aws elasticbeanstalk describe-environments --environment-names $ENVIRONMENT_NAME | jq -r '.Environments[0].VersionLabel'`
aws elasticbeanstalk update-environment --environment-name $ENVIRONMENT_NAME --version-label $CURRENT_VERSION`
Run Code Online (Sandbox Code Playgroud)
这大致有效,但我想知道这是否是更新站点的最有效方式。更新环境的文档说的很少。
此外,环境由 4 个不同的图像组成,每个图像都有自己的存储库,并由不同的团队独立更新。问题是,如果环境已经在执行更新,有时更新会“发生冲突”。我可以等待Status“准备好”并且AbortableOperationInProgress是假的,但我不想让 CI 服务器等待几分钟。
本来想用 Amazon SQS + Lambda 来排队,但是感觉很矫枉过正。如果 EBS 已经内置了这样一个更新队列,那将非常有帮助。我不可能是第一个遇到这个问题的人。
任何想法和指针表示赞赏。
谢谢,
胡安
| 归档时间: |
|
| 查看次数: |
386 次 |
| 最近记录: |