Как исправить состояние выхода из кода COD BUILD COMMAND_EXECUTION_ERROR 255 - PullRequest
0 голосов
/ 25 сентября 2019

Iam, настройка CICD, круговая линия, использование кода служб AWS, сборка Pilepileline и т. Д., Чтобы обновить deploymnet в моем кластере fargate ecs. В моем файле buildspec.yml команды aws ecs cli не работают, выдавая сообщение «COMMAND_EXECUTION_ERROR: ошибка при выполнении команды: aws ecs update-service --services xxxxx. Причина: состояние выхода 255 "

Я попытался предоставить разрешение на роль codebuild с помощью политики" AmazonECS_FullAccess ".

post_build:  
    commands:  
      - echo Build completed on `date`  
      - echo Pushing the Docker images...  
      - docker push $REPOSITORY_URI:latest  
      - docker push $REPOSITORY_URI:$IMAGE_TAG  
      - echo Writing image definitions file...  
      - printf '[{"name":"xxxxxxx","imageUri":"%s"}]' $REPOSITORY_URI:$IMAGE_TAG > imagedefinitions.json  
      - cat imagedefinitions.json 
      - echo Updating ECSfargate service ...  
      - aws ecs describe-services --services xxxxxxxxxxxxxxxxx 
      - aws ecs update-service --service xxxxxxxxxxxxxxxxx --desired-count 2 --no-force-new-deployment  

1 Ответ

0 голосов
/ 26 сентября 2019

Код ошибки 255 означает:

255 - Команда не выполнена.Были ошибки, выданные либо интерфейсом командной строки, либо службой, к которой был сделан запрос.

https://docs.aws.amazon.com/cli/latest/topic/return-codes.html

Как вы упоминали, вы предоставили полный доступ ECS к роли CB, затем вы можетепроверьте, почему команда не работает: она не работает на ecs description или ecs update-service?Поскольку, если служба Fargate не стабилизировалась, это приведет к ошибке 255.

Я бы предложил:

1) Просто оставьте команду ecs description и посмотрите, работает ли она.

2) Если (1) выполнено успешно, то выполните обновление службы ecs и отслеживайте службу в консоли AWS ECS и / или в группе журналов CW, если у Fargate Taskdef есть запись logGroup.

...