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

CircleCI中aws-ecs/deploy_service_update命令未找到错误求助

CircleCI部署AWS ECS时aws-ecs/deploy_service_update命令找不到的问题排查

错误信息

Error: config compilation contains errors: config compilation contains errors:
        - Error calling workflow: 'build_deploy_prod'
        - Error calling job: 'deploy-to-ecs'
        - Cannot find a definition for command named aws-ecs/deploy_service_update

问题背景

使用CircleCI完成Docker镜像构建、推送AWS ECR的流程正常,但执行ECS部署环节时触发上述错误。已参照CircleCI官方文档配置,调整过服务名称的连字符/下划线格式,问题仍未解决。

当前CircleCI配置文件

version: 2.1

orbs:
  aws-cli: circleci/aws-cli@5.1.0
  aws-ecr: circleci/aws-ecr@9.3.1
  aws-ecs: circleci/aws-ecs@5.1.0

executors:
  pod-php:
    docker:
      - image: circleci/php:7.4-node
      - image: tkuchiki/delayed-mysql
        environment:
          MYSQL_ALLOW_EMPTY_PASSWORD: yes
          MYSQL_ROOT_PASSWORD: ''
          MYSQL_DATABASE: pod_test
    working_directory: [REDACTED]
    environment:
      CIRCLE_ARTIFACTS: /tmp/circleci-artfacts
      CIRCLE_TEST_REPORTS: /tmp/circleci-test-results
      DEBIAN_FRONTEND: noninteractive

jobs:
  
  build-and-push-docker:
    docker:
      - image: cimg/php:7.4-node
    steps:
      - checkout
      - run:
          name: Install dependencies
          command: |
            composer install --no-interaction --prefer-dist
            npm install
      - run:
          name: Build application
          command: |
            npm run production
      - setup_remote_docker:
          version: 20.10.14
      # Environment variables: AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY, AWS_REGION, AWS_ECR_ACCOUNT_URL
      - aws-ecr/build_and_push_image:
          auth:
            - aws-cli/setup:
                role_arn: arn:aws:iam::[REDACTED]
          repo: [REDACTED]
          tag: "latest, v0.1.${CIRCLE_BUILD_NUM}"
          dockerfile: Dockerfile

  deploy-to-ecs:
    docker:
      - image: cimg/base:stable
    steps:
      - aws-ecs/deploy_service_update:
          auth:
            - aws-cli/setup:
                role_arn: arn:aws:iam::[REDACTED]
          cluster: ${ECS_CLUSTER_NAME}
          container_image_name_updates: container=${ECS_SERVICE_NAME},tag=${CIRCLE_SHA1}
          family: ${ECS_SERVICE_NAME}
          
workflows:
  version: 2.1
  build_deploy_prod:
    jobs:
      - test:
          context: "prod"
          filters:
            branches:
              only:
                - master
      - build-and-push-docker:
          context: "prod"
          requires:
            - test
          filters:
            branches:
              only:
                - master
      - deploy-to-ecs:
          context: "prod"
          requires:
            - build-and-push-docker
          filters:
            branches:
              only:
                - master

排查解决方案

  • 核心原因:你使用的aws-ecs orb版本为5.1.0,该版本已废弃deploy_service_update命令,替换为deploy-update-service命令,同时参数命名规则也有调整。
  • 修正部署命令:将deploy-to-ecs job中的命令和对应参数替换为新版本要求:
    deploy-to-ecs:
        docker:
          - image: cimg/base:stable
        steps:
          - aws-ecs/deploy-update-service:
              auth:
                - aws-cli/setup:
                    role_arn: arn:aws:iam::[REDACTED]
              cluster: ${ECS_CLUSTER_NAME}
              container-image-name-updates: container=${ECS_SERVICE_NAME},tag=${CIRCLE_SHA1}
              family: ${ECS_SERVICE_NAME}
    
    注意:参数container_image_name_updates改为了短横线分隔的container-image-name-updates。
  • 版本兼容备选方案:若需保留旧命令,可将aws-ecs orb降级到4.x版本(如circleci/aws-ecs@4.1.0),但推荐使用最新稳定版适配新命令,避免后续兼容性问题。
  • 额外验证:确认CircleCI项目已授权访问AWS资源,且prod context中ECS_CLUSTER_NAME、ECS_SERVICE_NAME等环境变量配置正确。

内容的提问来源于stack exchange,提问作者Prajwal Iyer

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.18 21:34:54