我想通过aws cli
(在CI / CD的最后一步)部署(重新启动)我的ECS任务(启动类型为Fargate)。
与他们的问题在于,似乎我必须停止任务,并再次更新其状态。仍然可以,但是在以下命令中:
aws --region regionName ecs stop-task --cluster example-cluster --task taskID
,对于--task
,我要么必须使用任务UUID,要么必须使用任务的ARN,但两者均未完全固定。
任务的UUID随每个修订版本而变化,并且ARN也是名称,其最后一部分是修订版本号。我可以用作ARN的标识符完全固定吗?
另外,例如在ARN中,如果我有nginx:4
,则不能使用“ latest”代替4,这使得处理和自动化完全困难。
答案 0 :(得分:1)
我找到了解决方案,使用*-task
系列命令是一个错误。要部署服务,我们只需使用update-service
命令,如下所示:
aws --region regionName ecs update-service --cluster clusterName --force-new-deployment --service serviceName
重点在于--force-new-deployment
,此命令对不使用 CodeDeploy 的用户很有用。