如何使用蓝色/绿色部署将代码管道内的已构建的docker镜像获取到部署步骤

问题描述 投票:2回答:1

我有一个流程,我想要一个codepipeline在Github上的git提交上触发,通过一些测试和构建步骤并以codedeploy结束,代码将部署在具有蓝色/绿色部署的ECS集群上。但是我仍然坚持如何将图像转换为CodeDeploy步骤的最后一步。

管道如下所示:

Source(GitHub) - > Test - > Build,创建一个上传到ECR的docker镜像。工件包含appspec.yaml,taskdefinition.json,imagedefinitions.json。 - >部署(CodeDeployToECS),使用构建步骤中的工件。

管道的最后一步是使用“CodeDeployToECS”提供程序配置的。但是我无法理解的是我如何获得在构建步骤中创建的图像,以便在使用蓝色/绿色部署的CodeDeploy步骤中结束。

我已经查看了这个指南:https://docs.aws.amazon.com/codepipeline/latest/userguide/tutorials-ecs-ecr-codedeploy.html但他们使用源步骤中的图像作为CodeDeploy步骤中的工件,与我的用例不匹配。

本指南将使用ECS进行部署,其中包含滚动更新,它会动态创建我正在尝试应用但不起作用的imagedefinitions.json:https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-cd-pipeline.html

通过上面的设置,Deploy步骤告诉我图像工件无效。任何指针,如果这是可能的或任何解决方法?

amazon-web-services aws-code-deploy aws-codepipeline
1个回答
3
投票

我找到了答案,创建一个图像工件,你需要生成文件imageDetail.json这是一个JSON对象,其中一个属性名为ImageURI,带有图像的URI。我按照这个线程来实现这个事实:https://forums.aws.amazon.com/message.jspa?messageID=881131

© www.soinside.com 2019 - 2024. All rights reserved.