我正在尝试使用 terraform/elastic beanstalk 完成蓝/绿部署。一个如何用这个堆栈交换环境 URL?我在这里看不到任何明显的东西。
我能想到的最好的方法是......
- 运行一个 terraform apply 来启动我的整个架构
- 旋转起来
aws_elastic_beanstalk_environment
的蓝色环境
- 旋转起来
- 当想要部署应用程序的新版本时,运行
terraform apply module.elasticbeanstalk.aws_elastic_beanstalk_environment.green
以仅启动其他 aws_elastic_beanstalk_environment 资源 - 现在我有蓝色和绿色了。实际交换 URL 的时间...
- 通过命令行
eb swap
API,交换两个环境 URL - 手动更新 tfstate
terraform push
新状态
- 通过命令行
如果有一个我不必手动操作状态的解决方案,我会喜欢的。或者这是使用这两个工具完成此功能的唯一方法?