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

使用Code Pipeline执行ECS蓝绿部署时遇Family不能为空错误

ECS蓝绿部署报错"Family can not be blank"排查方案

核心排查方向

  • 检查CodePipeline部署动作的参数配置
    确认ECS部署阶段的「任务定义文件路径」是否正确。如果路径拼写错误、对应Artifact中不存在该文件,CodePipeline读取不到taskdef.json就会判定Family为空。要确保参数指向正确的文件,比如BuildArtifact::taskdef.json,同时验证Build阶段确实输出了这个文件。

  • 验证taskdef.json的结构合法性
    打开taskdef.json确认family字段在根层级,且字段名为小写(AWS JSON Schema对大小写敏感),格式示例:

    {
      "family": "Project-Grafana-task",
      // 其他任务定义配置字段
    }
    
  • 排查CloudFormation与taskdef.json的优先级冲突
    CodePipeline部署动作如果指定了taskdef.json,会优先使用该文件的配置,而非CloudFormation中的任务定义。需确认CloudFormation模板中的Family配置无误,且未被错误覆盖。

  • 检查CodeDeploy AppSpec文件的引用逻辑
    确保AppSpec文件中TaskDefinition字段正确指向目标任务定义Family,避免因动态引用错误导致任务定义读取失败。

快速验证方法

  • 本地执行命令aws ecs register-task-definition --cli-input-json file://taskdef.json,如果能成功注册,说明taskdef.json本身无问题;若失败,根据命令行错误提示修正文件。
  • 在CodePipeline的Build阶段添加打印步骤,输出taskdef.json的内容,确认文件已正确生成且包含family字段。

内容的提问来源于stack exchange,提问作者Richard Chester

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.20 06:45:33