CodePipeline:如何将 ECR 与 Elastic Beanstalk 集成?

Posted

技术标签:

【中文标题】CodePipeline:如何将 ECR 与 Elastic Beanstalk 集成?【英文标题】:CodePipeline: How to integrate ECR with Elastic Beanstalk? 【发布时间】:2019-06-05 21:17:17 【问题描述】:

我正在尝试将 ECR 和 Elastic Beanstalk 与以下 CodePipeline 设置相结合:

    来源:CodeCommit Build : buildspec.yml 构建一个 docker 镜像并将其推送到 ECR 存储库 部署:Elastic Beanstalk

请注意,第 2 步不包含任何工件,它只是使用 docker build -t <my-image> . 从源代码构建新图像,并将其推送到带有最新标签的 ECR。

我的问题是:

    如何从第 3 步触发 beanstalk 以使用最新的 ECR 映像?
      步骤 1/2 中应包括哪些工件(如果有)? 工件是否与每次都指向 ECR 图像文件的 Dockerrun.aws.json 相同?
    替代方法:我是否应该将整个源代码部署到 beanstalk 并让它使用包中的 Dockerfile 来构建它?
      如果是 - 我在哪里可以看到映像的构建过程? 有没有办法从源代码中选择不同的 Dockerfile?

【问题讨论】:

【参考方案1】:

对于任何寻找答案的人:在 buildspec.yml 的工件中仅包含 Dockerrun.aws.json 文件,并将其 image 字段指向 ECR 图像。

【讨论】:

以上是关于CodePipeline:如何将 ECR 与 Elastic Beanstalk 集成?的主要内容,如果未能解决你的问题,请参考以下文章

CodePipeline:ECR 源 + ECS 部署配置

跨账户 ECR 登录和推送构建的 Docker 映像的 CodePipeline 错误

AWS CodePipeline:同时运行多个管道

如何配置 AWS CodePipeline、CodeBuild 和 Elastic Beanstalk 以正确部署 Laravel 8 应用程序?

如何使用 AWS CodeDeploy/CodePipeline/S3 将 Gitlab-Ci 部署到 EC2

如何将构图图像推送到ECR?