我有一个大型的多组件django应用程序,我正试图将其部署到弹性豆茎上。我正在使用多docker环境。这是我当前的工作流程
- Git提交触发AWS代码管道
- AWS Codebuild构建docker镜像(
docker-compose build
(,运行一些测试,并将此镜像推送到AWS Elastic Container Registry - AWS代码构建调用
eb deploy
我遇到的问题是,当我从本地框调用eb deploy
时,它只是升级应用程序,但当我从代码构建调用它时,它每次都在升级环境,由于某种原因,这大约需要30分钟
我使用-v
运行deploy命令,并确认相同的文件正在压缩。关于这里发生的事情有什么想法吗?我的设置不正确吗?
我还尝试在管道中从代码部署部署应用程序,并可以确认它也总是升级整个环境。
我认为,如果您使用CB来更新EB环境,它只会替换它,因为它被认为是一个新环境。在您的本地工作站中,您只使用一个单独的环境,但使用新的应用程序版本。
我会考虑用CP中的EB部署提供商替换CB来更新您的EB环境。这应该会成功,只需将您的新应用程序版本上传到现有的EB环境即可。
CP本机支持许多部署操作提供程序,其中一个是Elastic Beanstalk:
您可以将CodePipeline配置为使用Elastic Beanstalk来部署您的代码。您可以在创建管道之前或使用"创建管道"向导时,在阶段中创建要在部署操作中使用的Elastic Beanstalk应用程序和环境。