ECS使用ECR自动部署



我使用的是GitHub、Jenkins、AWS ECR、AWS ECS。

我想在GitHub有新提交时自动部署。当GitHub有新的提交时,GitHub将webhook发送给Jenkins,Jenkins构建图像并用标签"最新"推送到ECR。

我想知道当ECR镜像发生变化时,如何让我的ECS服务重新启动并自动重新部署镜像?

在此设置中不要使用latest。让Jenkins为图像选择一个标签(可能基于源代码管理提交ID、源代码管理标签名称或时间戳(。让它能够更新ECS任务,然后(一旦构建完成并经过适当的预启动测试(让Jenkins将任务中的图像标签更改为刚刚构建的图像标签。ECS会看到镜像发生了变化,拉取新镜像,并相应地启动容器。

这样做还有两个很好的理由:如果您有明确的版本,您可以有一个预生产集群,在那里部署东西,运行测试,然后将相同的版本部署到生产中;如果部署失败,您可以通过手动将标记设置回昨天的版本来直接回滚,如果您拥有的唯一版本是latest,则这是不可能的。

最新更新