繁体   English   中英

AWS ECS 运行最新任务定义

[英]AWS ECS run latest task definition

我正在尝试运行从 GitHub 部署 (CD) 构建的最新任务定义映像。 似乎在 AWS 上它创建了一个任务定义,例如“ task-api:1 ”、“ task-api:2 ”,我的集群仍在运行task-api:1即使有最新的任务作为新图像已建成。 到目前为止,我必须手动停止旧的并启动一个新的。 我怎样才能让它自动化?

从您在评论中所说的话来看:

我通过 AWS 控制台创建了我的任务,我只运行自己的任务定义,没有通过 EC2 启动的任务定义的服务和服务,而不是针对它们两者,所以在我的 Github 两个存储库的任务定义 JSON 文件中与任务的修订相关(这可能是个问题吗?)。

很难准确了解您是如何进行此设置的,您最好返回 go 并使用您遵循的指南或 AWS 文档更好地了解您正在使用的服务。 推送新任务定义不会自动更新服务以使用新定义。

也就是说,我的猜测是您需要更新 ECS 中的服务以使用最新的任务定义。 您可以通过多种方式做到这一点:

这可以自动化,但您需要设置一个流程来自动化它。

我建议阅读一些关于如何使用 CDK 自动部署和更新的指南。 亚马逊提供了一个很好的指南来帮助您入门https://docs.aws.amazon.com/cdk/latest/guide/ecs_example.html

您必须将任务包装在服务中,并使用滚动更新进行自动化部署。

当滚动更新 (ECS) 部署类型用于您的服务时,当启动新服务部署时,Amazon ECS 服务计划程序会用新任务替换当前正在运行的任务。

阅读: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/deployment-type-ecs.html

这就是 DevOps,因此您需要一个 CI/CD 管道来为您进行滚动更新。 查看 CodeBuild、CodeDeploy 和 CodePipeline(以及 CodeCommit,如果您将 AWS 中的代码存储库与 CI/CD 集成)

阅读: https://docs.aws.amazon.com/codepipeline/latest/userguide/tutorials-ecs-ecr-codedeploy.html

这是一个复杂的话题,但最终会得到回报。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM