ecs_taskdefinition不加载环境变量

时间:2020-04-21 09:06:31

标签: ansible amazon-ecs ecs-taskdefinition

我正在尝试在ECS任务中设置几个环境变量,但是这些变量似乎从未传递过(也不抛出任何错误)。

此功能是否损坏?我已经尝试了无数次,但似乎没有任何效果。

使用: Ansible v2.9.6 aws-cli v1.16.162 Python v2.7.5

例如

- name: Create task def
  ecs_taskdefinition:
    revision: 1
    launch_type: FARGATE
    cpu: 256
    memory: 512
    network_mode: awsvpc
    state: present
    family: simpsons
    execution_role_arn: "arn:aws:iam::XXXXXXXXXXXXXX:role/ecsTaskExecutionRole"
    region: "{{ aws_region }}"
    aws_access_key: "{{ ecs_access_key }}"
    aws_secret_key: "{{ ecs_secret_key }}"
    containers:
      - name: "{{ maven_artifact_id }}"
        image: "XXXXXXXXXXXXXX.dkr.ecr.eu-west-1.amazonaws.com/REPO:TAG"
        environment:
          - name: "PORT"
            value: "443"
        essential: true
        logConfiguration:
          logDriver: "awslogs"
          options:
            awslogs-group: "/ecs/test-cluster-taskdef"
            awslogs-region: "us-west-2"
            awslogs-stream-prefix: "ecs"

1 个答案:

答案 0 :(得分:0)

好的,我找到了-令人反感的行是:'修订:1'

本质上,ECS会“不,谢谢,已经有了修订版1”,并悄悄地忽略了我更改后的任务定义。

解决方案是完全删除“修订”行,并随意调整(并且Ansible不会在每次部署中重复进行迭代,因为仍然存在差异)。

真的认为应该更新Ansible文档以提供建议!