AWS codepipeline-使用现有dockerrun.aws.json部署到Elastic Beanstalk



我在codepipeline上有一个带有CI/CD的弹性beanstalk上运行的多容器docker应用程序。我的应用程序分为多个存储库和多个图像:

  • 前端存储库/图像/管道
  • 后端存储库/图像/管道
  • 部署存储库(Dockerrun.aws.jsonnginx/conf.d/等)

我唯一部署到Elastic Beanstalk的是我的部署存储库。前端和后端存储库中没有有关Dockerrun.aws.json文件,环境变量等的信息。

我的问题是,在我的前端和后端存储库的Codepipeline的最新步骤中,它试图将其推向Elastic Beanstalk并失败,因为输出工件中不包含Dockerrun.aws.json文件。

所以我想做的是,管道应该构建图像,将其推到ECR(我已经成功地做),然后只是触发弹性beanstalk以更新/拉下图像。我该怎么做呢?我不想将工件从构建中推到弹性豆stalt。

似乎弹性豆stalk是要使用单个"单声道repo",而不是运行是一个多回购应用程序。因此,我不使用多个存储库将它们合并为一个。

我当前的存储库现在看起来像这样:

.git/
backend_app/
frontend_app/
Dockerrun.aws.json

现在,每当我推到我的存储库时,AWS Codepipeline都会选择更改并可以成功部署到我的Elastic Beanstalk应用程序中。

对于想要使用微服务,多回购或类似应用程序运行应用程序的任何人,我想Elastic Beanstalk可能不是正确的方法。

最新更新