You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用CODE_DEPLOY部署控制器的ECS Fargate服务无法强制新部署,求解决办法

解决ECS CODE_DEPLOY部署控制器下无法使用--force-new-deployment的问题

问题原因

当ECS服务的deploymentController设置为CODE_DEPLOY时,ECS原生的--force-new-deployment参数会被限制使用——这是AWS的设计逻辑:此时服务的部署流程完全由CodeDeploy接管,ECS不再直接处理部署触发请求,必须通过CodeDeploy的相关命令来发起新部署。

解决办法

直接使用AWS CodeDeploy CLI命令触发新部署,具体分两种场景:

1. 触发基于当前任务定义的部署

如果你的ECS任务定义已经是最新版本,直接执行以下命令即可触发重新部署:

aws deploy create-deployment \
  --application-name <你的CodeDeploy应用名称> \
  --deployment-group-name <你的CodeDeploy部署组名称>

2. 指定特定版本的任务定义部署

如果需要部署某个特定版本的任务定义,可以通过--revision参数指定:

aws deploy create-deployment \
  --application-name <你的CodeDeploy应用名称> \
  --deployment-group-name <你的CodeDeploy部署组名称> \
  --revision revisionType=ECS,ecsService=cluster=<你的ECS集群名>,serviceName=<你的ECS服务名>,taskDefinition=<任务定义ARN>:<版本号>

额外说明

在CODE_DEPLOY部署模式下,所有部署相关的操作(包括强制重新部署)都需要通过CodeDeploy来完成,ECS的update-service命令仅能处理部分非部署类的服务配置变更(如调整任务数量),无法触发部署流程。

内容的提问来源于stack exchange,提问作者power-cut

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.16 14:10:04