GitLab Pipeline Editor 與 Pipeline simulation

上一篇文章我們介紹了 CI Lint,本文再接再厲,繼續介紹另外兩個在規劃 CI Pipeline 會用到的功能— Pipeline EditorPipeline simulation

Pipeline Editor

Pipeline Editor 是 GitLab 13.8 新增的功能。(就說 13.x 一直功能大噴發~)

build:
stage: build
script:
- echo build

test:
stage: test
# 補上 needs:
needs:
- build
script:
- echo dev test
(非常單純,單線道的 CI Pipeline。)
DAG 功能繪製的圖
include:
- template: Auto-DevOps.gitlab-ci.yml
(才輸入 arti 而已,Pipeline Editor 就提示是否想要輸入 artifactsafter_script,同時也會顯示對應的說明。)
(以 artifacts: 為例,Autocomplete 除了 artifacts:,連 artifacts: 之下的 untracked:expire_in: 這兩項設定也會幫忙自動帶入。)
(順利送出 Commit。)

Pipeline simulation

Pipeline simulation 則是 GitLab 13.3 新增的功能。

build:
script: echo
stage: build
rules:
- if: '$CI_MERGE_REQUEST_ID'
# 你也可以嘗試把 rules:,改用 only: [merge_requests] 測試看看。

test:
script: echo
stage: test
needs: [build]

結語

隨著 GitLab CI 的功能越來越強大,.gitlab-ci.yml 也變得越來越複雜。然而 GitLab CI 一直有著一項令人詬病的問題,即是欠缺一種方便又簡單的 Local 驗證方式,工程師們無法直接在 Local 就完成 GitLab CI Pipeline 的驗證。這導致很多時候不得不反覆的送出 Commit,只是為了嘗試觸發 CI Pipeline 以驗證自己的想像與實際結果是否一致。

參考資料

江湖藝名—艦長,熱衷研究維運及自動化相關技術,目標是未來能像畢凱艦長一樣用嘴巴叫所有主機做事!目前為 GitLab Hero、DevOps Taiwan 社群志工並自稱為 DevOps 傳教士。更多個人經歷 chengweichen.com

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store