GitLab CI/CD 之 variables 公用變數與區域變數

2023/11/12閱讀時間約 3 分鐘
raw-image

前言

上次我們教到 needs 可以來指定哪個工作完成時,才會指向下一個工作,今天我們來教 CI/CD 之 variables 變數,在 Gitlab CI/CD 中也提供區域變數、公用變數和環境變數,提供的預設變數讓我們操作,我們會再這裡分成三期教各位。

variables 定義規則

CI/CD 變數命名先寫一個 variables,然後底下定義變數名稱,有如以下範例

variables:
name: "王小明"
age: 18

variables 公用變數

公用變數就用寫程式一樣,變數定義在最外面,可以在任何時候調用,有如以下範例

variables:
name: "王小明"
age: 18

run-unit-test:
script:
- echo "姓名 $name, 年齡 $age"

variables 區域變數

區域變數也是像寫程式這樣,把變數定義在工作裡面,而工作之間不能互相取得變數

run-unit-test:
variables:
name: "王小明"
age: 18
script:
- echo "姓名 $name, 年齡 $age"

variables 公用變數練習

接下來我們練習如何使用公用變數,有如以下範例,將變數先告至外面,由工作調用變數。

stages:
- testing

variables:
name: "王小明"
age: 18

run-unit-test:
stage: testing
script:
- echo "name $name, age $age"

可以看到有如下圖,變數成功印出來

raw-image

variables 區域變數練習

接下來我們練習如何使用區域變數,有如以下範例,將變數先告至工作裡面,調用工作裏面變數。

stages:
- testing

run-unit-test:
stage: testing
variables:
name: "王小明"
age: 18
script:
- echo "name $name, age $age"

可以看到有如下圖,變數如期印出來

raw-image

variables 取得別家工作變數

接下來我們來看我們定義兩個工作,其中看 "test-build" 這個工作,是否可以取得 "run-unit-test" 工作裡面的變數

stages:
- testing

run-unit-test:
stage: testing
variables:
name: "王小明"
age: 18
script:
- echo "name $name, age $age"

test-build:
stage: testing
script:
- echo "name $name, age $age"

有如下圖,雖然 CI/CD 並沒有爆出錯誤,但是我們看工作裡面出什麼事。

raw-image

點進去 "run-unit-test" 工作裡面,可以看到變數有如預期印出

raw-image

點進去 "test-build" 工作裡面,可以看到 "test-build" 無法取得 "run-unit-test" 工作裡面的變數。

raw-image
10會員
48內容數
d3.js 圖形
留言0
查看全部
發表第一個留言支持創作者!