iT邦幫忙

鐵人檔案

2025 iThome 鐵人賽
回列表
DevOps

GitLab CI 2025:深入玩轉流水線與實戰紀錄 系列

在 2020 年第十二屆鐵人賽中,我以「用 GitLab CI 玩轉自動化測試與佈署」為題,分享了當時 GitLab 13.x 版本下的 CI 實戰心得,內容涵蓋從入門基礎到進階應用的完整紀錄。轉眼五年過去,GitLab 已演進至 18.x,歷經多次重大更新,不僅語法與功能更加成熟,也在雲端整合與安全性甚至是 AI 整合上有明顯的提升。這次的系列文章「GitLab CI 2025:深入玩轉流水線與實戰紀錄」,將延續當年的精神,但聚焦在期間的變化,與一些實務上遇到的難題紀錄,希望可以帶你一同探索 GitLab CI 在 2025 年各種可能性。

參賽天數 23 天 | 共 23 篇文章 | 6 人訂閱 訂閱系列文 RSS系列文 團隊兩貓一犬一條龍小隊
DAY 11

Day11 - 建立自己的 Step

在上一篇內容中,初步認識了 GitLab CI/CD Steps 這個目前實驗中的功能,在今天的內容中,會建立出一個自己的 CI/CD Step。 要建立自己的...

2025-09-20 ‧ 由 墨嗓 分享
DAY 12

Day12 - 透過 GitLab CI/CD Step 傳遞資訊

在上一篇的內容中,實作了自己的 step,但目前僅止於可以接收外部的參數傳入到 step 中來供 step 的實作使用,但如果要從 step 實作後,把實作的結...

2025-09-21 ‧ 由 墨嗓 分享
DAY 13

Day13 - GitLab 宣告停用的語法及替代方案

隨著 GitLab 每個月固定釋出新版本持續的演進,GitLab CI/CD YAML 的語法也陸續有一些更新、調整,難免,也會有一些語法會進入棄用階段,這一篇...

2025-09-22 ‧ 由 墨嗓 分享
DAY 14

Day14 - GitLab CI/CD YAML 的 rules 與 needs

在之前的鐵人賽中,談過工作與工作之間的相依關係 dependencies,也談過使用 needs 來構成 DAG 有向無環圖,可以想像,工作與工作之間的關聯在...

2025-09-23 ‧ 由 墨嗓 分享
DAY 15

Day15 - 在 CI/CD YAML 語法 needs 中選擇 parallel:matrix 工作相依

在上一季介紹過 parallel:matrix 平行化陣列的語法,對於整理重構只有參數差異的工作非常的好用,實務上,我個人經常使用 parallel:matri...

2025-09-24 ‧ 由 墨嗓 分享
DAY 16

Day16 - 在 CI/CD YAML 語法 needs 中取得父層流水線的 Artifact

接力上一篇的 needs,隨著專案的規模變大,有時候為了好除錯或降低複雜度,會採用 Parent - Child 形式的 GitLab Pipeline,但自然...

2025-09-25 ‧ 由 墨嗓 分享
DAY 17

Day17 - 讓 CI/CD YAML 的 needs 當 Job 存在的時候才 needs

上一篇談到 needs 如果需要 Parent Pipeline 的 Artifact 時,可以透過 needs:pipeline:job 搭配 Parent...

2025-09-26 ‧ 由 墨嗓 分享
DAY 18

Day18 CI/CD 解題趣-下一階段手動或自動執行,由本階段決定 - 01

這次的鐵人賽系列文章,大致上把 GitLab 13.3 開始到目前 18.3 期間,我覺得比較重要的變化及更新做了一些說明,接下來會進入「解題趣」系列,這系列主...

2025-09-27 ‧ 由 墨嗓 分享
DAY 19

Day19 - CI/CD 解題趣-下一階段手動或自動執行,由本階段決定 - 02

在上一篇的內容中,進行了兩種嘗試,但基於 GitLab 的特性,都無法滿足需求「依據特定階段工作執行狀態,來決定下一階段的工作為自動啟動或手動啟動」,接下來會繼...

2025-09-28 ‧ 由 墨嗓 分享
DAY 20

Day20 - 如何在 GitLab CI/CD YAML 裡像 function 一樣重複使用

今天的題目來源,同樣是 stack overflow,標題是:「Gitlab CICD: use functions inside gitlab-ci.yml」...

2025-09-29 ‧ 由 墨嗓 分享