доступ к переменной окружения в конвейере gocd для aws EMR add step - PullRequest
0 голосов
/ 21 января 2019

Как передать переменную окружения в шаге gocd в качестве аргумента. Здесь, когда я передаю $ {KAFKA_CODE}, он выдает ошибку. и когда я передаю только $ KAFKA_CODE, тогда команда отправляется как aws s3 cp $KAFKA_CODE /home/hadoop/ в кластере. Но я хочу, чтобы это было как aws s3 cp s3://code_path/spark-jobs.zip /home/hadoop/ Пожалуйста, дайте мне знать, как это можно исправить, так как я новичок в gocd

format_version: 3
pipelines:
  copy_code_cluster:
    group: MyGroup
    materials:
      terraform_git:
        git: git@gitlab.xxxx.com/spark-jobs.git
        branch: develop

    environment_variables:
      KAFKA_CODE: "s3://code_path/spark-jobs.zip"

    stages:
    - provision:
        clean_workpace: true
        jobs:
          terraform:
            tasks:
              - exec:
                  command: /bin/sh
                  arguments:
                    - "-c"
                    - "aws emr add-steps --cluster-id 'j-xxxxxxx' --steps 'Name= \"copy zip  to cluster home directory\" , Jar=\"command-runner.jar\",Args=[ \"aws\" , \"s3\" , \"cp\", \"$KAFKA_CODE\" ,  \"/home/hadoop/\"]' "

1 Ответ

0 голосов
/ 22 января 2019

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

format_version: 3
pipelines:
  copy_code_cluster:
    group: MyGroup
    materials:
      terraform_git:
        git: git@gitlab.xxxx.com/spark-jobs.git
        branch: develop

    parameters:
      KAFKA_CODE: "s3://code_path/spark-jobs.zip"

    stages:
    - provision:
        clean_workpace: true
        jobs:
          terraform:
            tasks:
              - exec:
                  command: /bin/sh
                  arguments:
                    - "-c"
                    - "aws emr add-steps --cluster-id 'j-xxxxxxx' --steps 'Name= \"copy zip  to cluster home directory\" , Jar=\"command-runner.jar\",Args=[ \"aws\" , \"s3\" , \"cp\", \"#{KAFKA_CODE}\" ,  \"/home/hadoop/\"]' "
...