GitLab CI/CD課程16

Execute jobs on specific Runner (Tags)

ZONGRU Li
Aug 9, 2022

在已建立"Specific runners"的情況下執行前面撰寫的Pipeline:

而指定的方法其實就是透過前面建立"Specific runners"時打的tags!

並且寫到Pipelineyml code裡面

同理,將各個Jobs都加上上述紅框的tags內容:

Commit後看到:

所以接著就是去EC2機台上安裝npm工具

#依序執行以下指令安裝npm與modejs工具:
sudo apt update
sudo apt install nodejs -y
sudo apt install npm -y
#確認安裝:
node -v
npm -v

接著一樣重跑剛剛的Pipeline:

確認其他部分的Job:

調整為本機的windowRunner tags執行看看

如上看到都掛掉,進去看到:

但是其實Runner都還是正常的:

windows有對應工具,其實就能正常運作,這邊我暫不處理這問題

網路上也有一些解法參考(LINK)

Real-Life Use Cases:

考慮到真實情況比如說有20Runner的雲端機器(以下簡單畫):

我們可能會考慮到各個Runner有各自的用途,會使用不同Executor:

並且實際調用上,不同Job依據需求使用不同的Runner:

並且還要考慮到不同階段的Job需要到相同的Runner資源的情況:

所以相同TypeRuuner就會需要有多台:

所以最後相對較正常配置可能如下圖:

而一般情況我們的Pipeline也不會只有一條

不過若大部分都是一些簡單的執行環境

那麼只會需要一些多台的"interchangeable Runner"

比如說多台linux環境裝個docker當作Runner

以滿足job執行所需要的負載量

參考課程(reference)

--

--

ZONGRU Li
ZONGRU Li

Written by ZONGRU Li

2022/11/17 開源部分個人筆記給LINE "Java程式語言討論區"社群,希望能對社群的技術學習做一點點貢獻.(掩面....記得退訂閱!

No responses yet