[英]Variable inside variable gitlab ci
查看GitLab 14.3 (2021 年 9 月)
在其他變量中使用變量
CI/CD 管道執行場景可以依賴於擴展管道中聲明的變量或在另一個變量聲明中使用 GitLab 預定義變量。
在 14.3 中,我們在 GitLab SaaS 上啟用了“其他變量中的變量”功能。
現在您可以定義一個變量並在同一管道內的另一個變量定義中使用它。
您還可以在另一個變量聲明中使用 GitLab 預定義變量。
此功能簡化了您的管道定義並消除了由重復可變數據引起的管道管理問題。
注意 - 對於 GitLab 自管理用戶,該功能默認禁用。
要使用此功能,您的 GitLab 管理員將需要啟用功能標志。(演示-視頻)
這是否包括或排除使用全局定義的變量?
dba自己的答案:
全局變量可以重復使用,但它們需要具有遞歸擴展的
local_var: ${global_var}
語法(獨立於 shell)。
很多選擇。
.env
image: busybox:latest
variables:
MY_CUSTOM_VARIABLE: $CI_JOB_STAGE
ANIMAL_TESTING: "cats"
before_script:
- echo "Before script section"
- echo $CI_JOB_STAGE
- echo $MY_CUSTOM_VARIABLE
- echo $MY_CUSTOM_VARIABLE >> .env
- echo $CI_COMMIT_BRANCH >> .env
- cat .env
$ echo "Before script section"
Before script section
$ echo $CI_JOB_STAGE
build
$ echo $MY_CUSTOM_VARIABLE
build
$ echo $MY_CUSTOM_VARIABLE >> .env
$ echo $CI_COMMIT_BRANCH >> .env
$ cat .env
build
exper/ci-var-into-env
$ echo "Do your build here"
Do your build here
image: busybox:latest
variables:
MY_CUSTOM_VARIABLE: "${CI_JOB_STAGE}"
ANIMAL_TESTING: "cats"
before_script:
- echo "Before script section"
- echo $CI_JOB_STAGE
- echo $MY_CUSTOM_VARIABLE
- echo $MY_CUSTOM_VARIABLE >> .env
- cat .env
示例: https://gitlab.com/codeangler/make-ci-var-custom-var-in-script/-/blob/master/.gitlab-ci.yml
檢查這是否與gitlab-org/gitlab-runner
問題 1809匹配:
描述
- 在
.gitlab-ci.yml
文件中,用戶可以定義一個變量並在同一個.gitlab-ci.yml
文件中的另一個變量定義中使用它。- 用戶還可以在變量聲明中使用 GitLab 預定義變量。
例子
variables: variable_1: "foo" # here, variable_1 is assigned the value foo variable_2: "${variable_1}" # variable_2 is assigned the value variable_1. # The expectation is that the value in variable_2 = value set for variable_1
如果是,則應針對 GitLab 14.1(2021 年 7 月)完成/實施
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.