在ECS中更新任务定义

时间:2017-06-16 18:56:15

标签: docker amazon-ecs aws-codebuild amazon-ecr

我目前正在尝试通过CodePipeline自动构建和部署流程。在我的代码完成在codebuild中构建之后,我想更新我的任务定义并通过CodeBuild通过aws cli更新我的服务。

我在更新服务时遇到问题,因为我无法跟踪修订号。有没有办法让更新的服务知道使用最新版本?我知道您可以指定一个json,但是如何操作修订号以使服务指向我注册表中的右图像?

1 个答案:

答案 0 :(得分:0)

阅读一下亚马逊api的文档,并没有告诉你哪个是上传的最后一张图片。我建议在上传过程中捕获版本,以便能够在服务中设置它。

当你列出图像时,我告诉你api的回应。

响应语法:

{
   "imageIds": [ 
      { 
         "imageDigest": "string",
         "imageTag": "string"
      }
   ],
   "nextToken": "string"
}

可能的过程可以是:

  • 获取您的回购标签:

TAG=$(git describe --always)

  • 使用此标记构建图片:

docker build . -t [acount].dkr.ecr.[zone].amazonaws.com/[app]:TAG

  • 推送图片:

docker push [acount].dkr.ecr.[zone].amazonaws.com/[app]:TAG

  • 使用图片更新任务:

  • 使用任务

  • 更新服务

希望这可以帮到你