4

目前,我们构建Docker容器并将它们发布到Amazon ECR。我们创建了TaskDefinitions并能够在ECS群集上手动部署它们。因此,新的部署涉及手动更新TaskDefinition。使用Jenkins或Job Scheduler在AWS ECS上自动部署Docker容器

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

在此旁边,我们想让人们有机会启动一个或多个码头集装箱组合的特定版本。有关如何在不手动更新TaskDefinitions的情况下实现连续周期的任何建议?

回答

4

This article介绍了如何通过Jenkins连续部署到ECS。在构建映像并将其推送到使用新任务定义修订更新ECS服务后,它使用shell脚本。希望能帮助到你。

+0

过了两年以后的文章写了,没有新的办法做到这一点? – Elaine

7

一个更简单的解决办法可能是从这里使用ECS-部署脚本:

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 

这就是它。

+0

这比在Answer中链接的文章更有用,它会在尝试使用生成的JSON文件时为我引发错误。请注意将来的读者:ecs-deploy仅更新一个任务定义的容器,因此如果您有多个容器,则需要使用不同的参数运行多次,或者使用其他解决方案。 – hamx0r

+0

如何在VSTS powershell中安装aws-cli? – Elaine