通过 CLI 的 AWS deplyong ECS 服务

AWS deplyong ECS services through CLI

我想通过 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,我不能使用“最新”而不是 4,这使得它完全难以处理和自动化。

我找到了解决方案,使用 *-task 系列命令是错误的。要部署服务,我们只需使用 update-service 命令,如下所示:

aws --region regionName ecs update-service --cluster clusterName --force-new-deployment --service serviceName

重点是--force-new-deployment,这个命令对那些不使用CodeDeploy.

的人很有用