GitLab CI/CD課程33

Reuse pipeline configuration using extends (Multi-Stage Demo — Part 3)

ZONGRU Li
Aug 18, 2022

上一篇筆記上,我們重複了DEV的佈署的Pipeline Code

寫了另一份的Staging的佈署的Pipeline Code

然後只有少少幾個地方長得不一樣

假設連SSHKEY也不一樣時

就有6處但是對應5個變數的差異(其中兩個其實可以是同一個變數)

這時候可以複製其中比如說"deploy_to_dev"這個Job出來

並把新的Job命名為"deploy",然後嘗試提取出這6處五個變數寫為:

上面這個Job建立後,deploy_to_dev就可以濃縮改為:

同理deploy_to_stagingJob部分也可以改為:

此時有個問題是這個deployJob本身不是也會被執行?

我們會希望這個Job只是別的Job的基礎Base

所以需要特別地隱藏這個Job,不讓這個Job被執行

一個簡單的設定讓Job不啟用(inactive),就是多一個點:

同時調整:

此時這個.deployJob就可以稱為:Hide Job

另外也可以用#字號來轉換為Hide Job

另外要特別注意的是"extends"最多只能繼承到11

但是最好不要搞超過三層,不然就太複雜了(Best Practice)

此時的Pipeline Code內容為:

IP與Host要換掉才能用

但是小心,上面寫法會導致一個GitLabBUG出現

會讀不到繼承的SSH_PRIVATE_KEY變數檔案,這個是設定在GitLab Server上的

下一篇課程會說到!

參考課程(reference)

--

--

ZONGRU Li
ZONGRU Li

Written by ZONGRU Li

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

No responses yet