terraform - 如何让 ECS 服务进行强制重新部署?
问题描述
我在 ECR 中有一个 docker 映像,我经常更新它。我希望 ECS 进行强制部署,以便让服务获取最新版本的映像。
该服务已签入 terraform,因此我宁愿让 terraform 为我完成繁重的工作,而不是编写脚本来强制重新部署。
如何利用 terraform 强制重新部署 ECS 服务?
解决方案
我发现最有效的是污染任务定义。
terraform taint -module=mysandbox aws_ecs_task_definition.sandbox
terraform apply
Terraform will perform the following actions:
~ module.mysandbox.aws_ecs_service.sandbox
task_definition: "some-old-arn" => "${aws_ecs_task_definition.sandbox.arn}"
-/+ module.mysandbox.aws_ecs_task_definition.sandbox (tainted) (new resource required)
...
revision: "3" => <computed>
如您所见,ecs_service 中的任务定义已更新为具有递增修订号的新任务定义。
推荐阅读
- php - htaccess 模板用路径中的完整 url 重写
- r - 使用距离公式调整坐标
- stm32 - STM32 WFI被调用后立即退出
- actions-on-google - 对 Google 采取行动阻止成人关键字
- netlogo - 如何修复意外保存在 NetLogo 3D 中的(2D)NetLogo 模型?
- iphone - 如何将设备系列更改为仅 iPhone?
- javascript - Readmore 选项在某些字符后自动显示
- gnuplot - 使用 gnuplot,如何创建等高线图的 eps 文件?
- java - 错误 SparkContext:初始化 SparkContext 时出错 - Java + Eclipse + Spark
- javascript - 使用地图功能时如何将每个状态动态绑定到每个复选框