五年前的 2020 年,我以「用 GitLab CI 玩轉自動化測試與佈署」為題,開始了第一個以 GitLab CI/CD YAML 為主題的 30 天系列文。當時的 GitLab 還停留在 13.2 版,那是一個大家剛開始嘗試自動化測試與持續整合(CI/CD)的時代。
我們在那個階段學習 GitLab CI/CD YAML 的基本語法、變數、工作流程、artifacts、needs 等概念,也逐漸體會到「讓自動化流程更穩定」這件事的挑戰與美妙。
時間快轉到 2025 年,GitLab 已進化至 18.4 版。
如今的 CI/CD 不只是「跑得起來」的自動化腳本,而是已經可以像樂高一樣被重複組裝、重用、發佈的系統設計。GitLab 推出了 Components、Steps、Inputs、Catalog 等新功能,讓 GitLab CI/CD YAML 正式邁向模組化與元件化的新時代。
這系列的第二部曲,正是延續 2020 年的精神,帶著五年的經驗與實務案例,從 「會寫 YAML」到「設計 CI/CD 系統」,探索如何打造更有彈性、更可維護、更容易分享的 GitLab 自動化世界。
如果你有興趣開始查看這五年 61篇的內容,建議你可以依據這些分類來進行閱讀:
這系列,從 2020 開始的鐵人賽「用 GitLab CI 玩轉自動化測試與佈署」 以及 2025 鐵人賽「GitLab CI 2025:深入玩轉流水線與實戰紀錄」 橫跨了五個年度,累計共 61 篇內容,使用的 GitLab 版本也從 13.3 升級到目前的 GitLab 18.4,中間有高達近60個主版本釋出,本來認為這麽多版本釋出,變化鐵定不小,要從原本的 31篇 GitLab CI/CD YAML 的議題中,額外再寫不一樣的 30篇,應該不會太難。
結果讓人吃盡了苦頭,GitLab 這 60個主版本的確有非常多的變化,關於 GitLab CI/CD YAML 的部分也不少,但是真的變化大到足以寫一篇自己覺得可以接受的文字,其實就很有難度了,於是除了原本預計的內容外,開始一次又一次的在 GitLab 官方手冊上徘徊尋覓著,仔細的查看各種有別於 2020 系列且足夠累積出一篇文字的變化,對於相對熟悉 GitLab CI/CD YAML 的自己來說,又默默的更熟悉了一點。原來這種在一定基礎上繼續往下深入的探索挖出更細緻內容的方法,雖然有點虐,但其實是還是有幫助的。
2025 年的鐵人賽系列,在這篇畫下了句點。這是第三次參加鐵人賽,但是是第一次組團參賽,原來團隊一起參賽,更容易通過這傳說是真的。可能是因為誰也不想成為那顆老鼠屎的心理作用,也可能是因為有同伴,彼此可以不斷地互相鼓勵,互相幫忙思考結構、內容甚至是互相協助除錯,就算沒有意識到今年九月十月有一堆連假,導致各種行程接踵而來,團隊的成員們也總是可以在時間點之前,完成自己還可以接受的內容,雖然也因此讓成員們有了幾個不眠夜,但這應該就是一群人走得遠的道理吧。
感謝我們的團隊「兩貓一犬一條龍小隊」這 3 + 1人、兩隻貓、一條臘腸狗的團隊,我們有 3 人參賽 iThome 鐵人祭,另外 +1 人同步在自己的平台自我挑戰完成另外30篇內容,期間彼此互相支援、互相鼓勵,無論是心靈或實體的。
我們的團隊
我是墨嗓(陳佑竹),期待這次的內容能帶給你實用的啟發與幫助。