代码之家  ›  专栏  ›  技术社区  ›  Marcus Lind

AWS CodePipeline-使用现有Dockerrun部署到弹性Beanstalk。aws。json

  •  1
  • Marcus Lind  · 技术社区  · 7 年前

    我在Elastic Beanstalk上运行了一个多容器Docker应用程序,在CodePipeline上有CI/CD。我的应用程序分为多个存储库和多个图像:

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

    我唯一部署到Elastic Beanstalk的是我的部署存储库。前端和后端存储库没有关于 多克伦。aws。json 文件、环境变量等。

    我的问题是,在我的前端和后端存储库的代码管道的最新步骤中,它试图将其推送到Elastic Beanstalk,但失败了,因为没有 多克伦。aws。json 文件包含在输出工件中。

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

    1 回复  |  直到 7 年前
        1
  •  1
  •   Marcus Lind    7 年前

    似乎Elastic Beanstalk旨在使用单个“单回购”,而不是作为多回购应用程序运行。因此,我没有使用多个存储库,而是将它们合并到一个存储库中。

    我当前的存储库如下所示:

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

    现在,每当我推到我的存储库时,AWS CodePipeline就会接收到更改,并可以成功地将其部署到我的Elastic Beanstalk应用程序中。

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