如何在同一个cloudbuild.yaml文件中声明的访问变量

问题描述 投票:0回答:1

我是devops的新手,我遇到了以下问题:

我有cloudbuild文件,它配置为生成以tag命名的命名空间的部署。

例如:对于标记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}

有任何想法吗?

bash kubernetes
1个回答
1
投票

这应该这样做:

export ENVIRONMENT=${NAMESPACE}

基本上,你正在做一个

export NAMESPACE

在上述任务之前,在bash中,NAMESPACE应该可以作为变量$ {NAMESPACE}使用

© www.soinside.com 2019 - 2024. All rights reserved.