Как переменная доступа объявлена ​​ранее в том же файле cloudbuild.yaml - PullRequest
0 голосов
/ 16 сентября 2018

Я новичок в devops, и у меня возникла следующая проблема:

У меня есть файл cloudbuild, который настроен для создания развертывания для пространства имен, названного в честь тега.

Например: для тега v1.0.2 / host / dev он должен создать новое развертывание в пространстве имен "dev".

Вот часть кода cloudbuild.yaml:

  - name: 'gcr.io/cloud-builders/gcloud'
    entrypoint: 'bash'
    args:
    - '-c'
    - |
        export APP_VERSION
        export NAMESPACE
        export CLUSTER_NAME
        IFS=/ read -r APP_VERSION CLUSTER_NAME NAMESPACE <<< "$TAG_NAME"

        ... here is my problem ...
        export ENVIRONMENT
        export X
        export XX
        IFS=/ read -r X XX ENVIRONMENT <<< "$TAG_NAME"
        ...

Как видите - переменная NAMESPACE установлена ​​с последней частью тега (например, "dev")

Позже в коде мне нужно установить еще одну переменную - ENVIRONMENT - с тем же значением («dev»). Я сделал это путем копирования, как это делалось ранее, и использовал некоторые неиспользуемые переменные X и XX.

Как это можно сделать более точным способом? Я попробовал:

export ENVIRONMENT=NAMESPACE

Или:

export ENVIRONMENT=${NAMESPACE}

Есть идеи?

1 Ответ

0 голосов
/ 16 сентября 2018

Это должно сделать это:

export ENVIRONMENT=${NAMESPACE}

По сути, вы делаете

export NAMESPACE

перед указанным назначением, и в bash NAMESPACE должна быть доступна как переменная $ {NAMESPACE}

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...