为什么 ECS 管道需要任务定义,而服务已经在 AWS 中分配了任务定义?
Why ECS pipeline needed Task Definition while Service already have the task definition assigned in AWS?
在 bitbucket 上,配置需要同时使用 'service' 和 'task definition',我认为这是多余的,因为服务已经分配了任务定义,或者我们有解释?
// 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 – Required. This is the task definition for the Amazon ECS service to deploy.
在 bitbucket 上,配置需要同时使用 'service' 和 'task definition',我认为这是多余的,因为服务已经分配了任务定义,或者我们有解释?
// 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 – Required. This is the task definition for the Amazon ECS service to deploy.