1. 程式人生 > 實用技巧 ># 2021-01-12 #「GitLab CI/CD」- 環境變數(常見問題整理)

# 2021-01-12 #「GitLab CI/CD」- 環境變數(常見問題整理)

在 .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