如何解决为什么在Service已在AWS中分配了任务定义的情况下,ECS管道需要“任务定义”?
在bitbucket上,配置必须同时使用“服务”和“任务定义”,我认为这是多余的,因为该服务已经分配了任务定义,或者我们有一个解释?
// https://bitbucket.org/atlassian/aws-ecs-deploy/src/1.2.0/README.md
- pipe: atlassian/aws-ecs-deploy:1.2.0
variables:
AWS_ACCESS_KEY_ID: $AWS_ACCESS_KEY_ID
AWS_SECRET_ACCESS_KEY: $AWS_SECRET_ACCESS_KEY
AWS_DEFAULT_REGION: 'us-east-1'
CLUSTER_NAME: 'my-ecs-cluster'
SERVICE_NAME: 'my-ecs-service'
TASK_DEFINITION: 'task-definition.json'
解决方法
您正在显示的ECS服务中的任务定义可能是初始部署。在进行后续部署时,您可以使用新的映像版本或其他参数更新任务定义。不提供任务定义就无法更新ECS任务。
因此需要任务定义。如果使用 CodeDeploy 部署到ECS,则相同-必须提供任务定义:
-AppSpec 'resources' section for Amazon ECS deployments
TaskDefinition – 必需。这是要部署的Amazon ECS服务的任务定义。