首页 文章

AWS CodePipeline - 使用现有的Dockerrun.aws.json部署到Elastic Beanstalk

提问于
浏览
1

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

  • 前端存储库/图像/流水线

  • 后端存储库/图像/流水线

  • 部署存储库( Dockerrun.aws.jsonnginx/conf.d/ 等)

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

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

所以我想要做的是,Pipeline应该构建映像,将其推送到ECR(我已经成功完成),然后触发Elastic Beanstalk来更新/下拉图像 . 我该怎么做呢?我不想将构建中的工件推送到Elastic Beanstalk .

1 回答

  • 1

    似乎Elastic Beanstalk意味着使用单个“mono repo”而不是运行多个repo应用程序 . 因此,我没有使用多个存储库,而是将它们合并为一个存储库 .

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

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

    现在每当我推送到我的存储库时,AWS CodePipeline都会获取更改并成功将其部署到我的Elastic Beanstalk应用程序 .

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

相关问题