在 .gitlab-ci.yml 中,針對環境,使用不同的變量
GitLab CI/CD environment variables | GitLab
Environments and deployments | GitLab
問題描述
在 .gitlab-ci.yml 中,我們需要針對不同環境,使用不同的變量值。
解決方案
注意:我們這里的示例采用“先使用,后定義”的流程,這樣比較容易理解。
第一步、在 YAML 中,使用環境變量:
1)使用 environment.name.staging 指定環境;
2)在腳本中,使用我們定義的 ${FOO} 環境變量(在第二步中定義):
stages: - deploy deploy_staging: stage: deploy environment: name: staging script: - echo ${FOO}
第二步、在 GitLab 中,定義 FOO 變量:
1)在項目中 => Settings / CI/CD / Variables => 定義變量
2)當定義變量時,在 Scope 中,設置不同的值(通配符),以匹配 environment.name.staging 字段
3)執行 Job 即可,然后觀察 echo ${FOO} 輸出;
定義全局環境變量(Instance-level environment variables)
GitLab CI/CD environment variables / Instance-level CI/CD environment variables | GitLab
問題描述
我們定義“全局環境變量”,以在各個項目中使用(而不是僅僅定義項目級環境變量或者組級別環境變量)。
解決方案
首先,保證 GitLab >= 13.1 版本。
然后,在 Admin Area’s Settings / CI/CD / Variables 中,點擊 Add variable 設置;
參考文獻
WikiNotes/環境變量(常見問題整理)
GitLab CI/CD environment variables | GitLab