使用 Jenkins 或 Job Scheduler 在 AWS ECS 上自动部署 Docker 个容器

Automatic deployment of Docker containers on AWS ECS using Jenkins or Job Scheduler

目前我们正在构建 Docker 容器并将它们发布到 Amazon ECR。我们已经创建了 TaskDefinitions,并且能够在 ECS 集群上手动部署它们。因此,新部署涉及手动更新 TaskDefinition。

现在我们想自动化部署,所以当使用 Jenkins 成功构建 Docker 映像并发布到 ECR 存储库时,我们想用新构建的版本替换当前的 运行 版本一.

接下来,我们想让人们有机会启动 1 个或多个 docker 容器组合的特定版本。关于我们如何在不手动更新 TaskDefinitions 的情况下实现连续循环的任何建议?

This article 描述了如何使用 Jenkins 对 ECS 进行持续部署。在构建并推送映像后,它使用 shell 脚本来使用新的任务定义修订更新 ECS 服务。希望能帮助到你。

一个更简单的解决方案可能是使用此处的 ecs-deploy 脚本:

https://github.com/silinternational/ecs-deploy

在我的容器构建并部署到 dockerhub 之后,这只是一个问题:

ecs-deploy -k $AWS_KEY -s $AWS_SECRET -r $AWS_REGION -c $CLUSTER_NAME -n $SERVICE_NAME -i $DOCKER_IMAGE_NAME

就是这样。