更新ECS中的任务定义
我目前正试图通过CodePipeline自动化构build和部署过程。 当我的代码在codebuild中完成构build后,我想通过CodeBuild通过aws cli更新我的任务定义并更新我的服务。
我在更新服务时遇到问题,因为我无法跟踪修订版本号。 有没有办法让更新的服务知道使用最新的版本? 我知道你可以指定一个JSON,但我怎么操纵修订号,以便服务指向我的registry中正确的形象?
读一点亚马逊api的文档,不会告诉你哪个是上传的最后一张图片。 我build议在上传过程中捕获该版本可以在服务中设置它。
当您列出图像时,我会留下您对api的回应。
响应语法:
{ "imageIds": [ { "imageDigest": "string", "imageTag": "string" } ], "nextToken": "string" }
一个可能的过程可以是:
- 获取您的回购标签:
TAG=$(git describe --always)
- 用这个标签构build图像:
docker build . -t [acount].dkr.ecr.[zone].amazonaws.com/[app]:TAG
- 推送图像:
docker push [acount].dkr.ecr.[zone].amazonaws.com/[app]:TAG
-
用图像更新任务:
-
用任务更新服务
希望这可以帮到你
- 在Elastic Beanstalk上托pipe的Docker化PHP应用程序中出现“python:not found”错误
- AWS S3 Elastic Beanstalk Docker – / dev / fus:操作不允许
- 为什么要为Docker使用AWS ECS vs. ElasticBeanstalk?
- RabbitMQ Docker容器不能在AWS EC2实例上工作
- 如何pipe理部署?
- ECS使用相同的任务更新服务,但不同的docker图像
- 在亚马逊ecs上的集装箱交货
- Kubernetes是否均匀分布在ec2集群中?
- ECS CloudFormation堆栈始终显示CREATE_PROGRESS