【问题标题】:Why ECS pipeline needed Task Definition while Service already have the task definition assigned in AWS?为什么 ECS 管道需要任务定义,而服务已经在 AWS 中分配了任务定义?
【发布时间】:2020-09-14 05:54:42
【问题描述】:

在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'

【问题讨论】:

    标签: amazon-web-services docker devops amazon-ecs bitbucket-pipelines


    【解决方案1】:

    您显示的 ECS 服务中的任务定义可能是初始部署。当您进行后续部署时,您使用新的映像版本或额外参数更新任务定义。如果不提供任务定义,您将无法更新 ECS 任务。

    因此需要任务定义。使用 CodeDeploy 部署到 ECS 也是一样 - 必须提供任务定义:

    -AppSpec 'resources' section for Amazon ECS deployments

    任务定义 - 必需。这是要部署的 Amazon ECS 服务的任务定义。

    【讨论】:

    • 谢谢,我以为 ecs-deploy 管道只是模拟“拉取最新的 docker 映像并使用相同的任务定义重新部署”,结果它更复杂
    猜你喜欢
    • 1970-01-01
    • 2020-02-14
    • 2021-02-23
    • 2017-03-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-12-15
    • 1970-01-01
    相关资源
    最近更新 更多