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

前言

上次我們教到 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"

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

variables 區域變數練習

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

stages:

    - testing

run-unit-test:

    stage: testing

    variables:

         name: "王小明"

         age: 18

    script:

         - echo "name $name, age $age"

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

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 並沒有爆出錯誤,但是我們看工作裡面出什麼事。

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

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

留言

此網誌的熱門文章

Docker 之如何安裝 Docker 容器

Gitlab CI/CD 什麼是 CI/CD

Docker 之建立與使用 Docker Image 清理本地 Image