Попытка отправить переменные с планом терраформирования с помощью concourse ci

#terraform #concourse #concourse-pipeline

Вопрос:

Я пытаюсь создать конвейер в concourse, который будет запускать обновления github в удаленной ветви, и использовать эту ветвь для планирования, применения и уничтожения развертывания terraform.

 - name: terraform-repo
  type: git
  icon: github
  source:
    uri: https://github.com/....

#docker image
- name: terraform-0-13-7
  type: registry-image
  source:
    repository: hashicorp/terraform
    tag: 0.13.7

jobs:
- name: terraform-deplyoment
  plan:
  - get: terraform-0-13-7
  - get: terraform-repo
    trigger: true

  - task: terraform-init
    image: terraform-0-13-7
    config:
      inputs:
      - name: terraform-repo
      outputs:
      - name: terraform-repo
      platform: linux
      run:
        path: terraform
        dir: terraform-repo
        args:
        - init

  - task: terraform-plan
    image: terraform-0-13-7
    config:
      inputs:
      - name: terraform-repo
      outputs:
      - name: terraform-repo
      platform: linux
      run:
        path: terraform
        dir: terraform-repo
        args:
        - plan
        params:
          variable1: "test"
          variable2: "test2"
 

Это ошибка в графическом интерфейсе concourse при запуске конвейера, в котором упоминается, что переменные недоступны. Я делаю что-то не так с синтаксисом?

Комментарии:

1. Я мог бы заставить его работать, отредактировав аргументы, чтобы они содержали длинную строку с моими vars.

2. Пожалуйста, проясните вашу конкретную проблему или предоставьте дополнительные сведения, чтобы выделить именно то, что вам нужно. Поскольку это написано в настоящее время, трудно точно сказать, о чем вы просите.

Ответ №1:

Они params доступны для задачи в качестве переменных среды, поэтому вы должны использовать их в качестве входных переменных

   - task: terraform-plan
    image: terraform-0-13-7
    config:
      inputs:
      - name: terraform-repo
      outputs:
      - name: terraform-repo
      platform: linux
      run:
        path: terraform
        dir: terraform-repo
        args:
        - plan
        params:
          TF_VAR_variable1: "test"
          TF_VAR_variable2: "test2"