在 2020 年第十二屆鐵人賽中,我以「用 GitLab CI 玩轉自動化測試與佈署」為題,分享了當時 GitLab 13.x 版本下的 CI 實戰心得,內容涵蓋從入門基礎到進階應用的完整紀錄。轉眼五年過去,GitLab 已演進至 18.x,歷經多次重大更新,不僅語法與功能更加成熟,也在雲端整合與安全性甚至是 AI 整合上有明顯的提升。這次的系列文章「GitLab CI 2025:深入玩轉流水線與實戰紀錄」,將延續當年的精神,但聚焦在期間的變化,與一些實務上遇到的難題紀錄,希望可以帶你一同探索 GitLab CI 在 2025 年各種可能性。
在上一篇內容中,初步認識了 GitLab CI/CD Steps 這個目前實驗中的功能,在今天的內容中,會建立出一個自己的 CI/CD Step。 要建立自己的...
在上一篇的內容中,實作了自己的 step,但目前僅止於可以接收外部的參數傳入到 step 中來供 step 的實作使用,但如果要從 step 實作後,把實作的結...
隨著 GitLab 每個月固定釋出新版本持續的演進,GitLab CI/CD YAML 的語法也陸續有一些更新、調整,難免,也會有一些語法會進入棄用階段,這一篇...
在之前的鐵人賽中,談過工作與工作之間的相依關係 dependencies,也談過使用 needs 來構成 DAG 有向無環圖,可以想像,工作與工作之間的關聯在...
在上一季介紹過 parallel:matrix 平行化陣列的語法,對於整理重構只有參數差異的工作非常的好用,實務上,我個人經常使用 parallel:matri...
接力上一篇的 needs,隨著專案的規模變大,有時候為了好除錯或降低複雜度,會採用 Parent - Child 形式的 GitLab Pipeline,但自然...
上一篇談到 needs 如果需要 Parent Pipeline 的 Artifact 時,可以透過 needs:pipeline:job 搭配 Parent...
這次的鐵人賽系列文章,大致上把 GitLab 13.3 開始到目前 18.3 期間,我覺得比較重要的變化及更新做了一些說明,接下來會進入「解題趣」系列,這系列主...
在上一篇的內容中,進行了兩種嘗試,但基於 GitLab 的特性,都無法滿足需求「依據特定階段工作執行狀態,來決定下一階段的工作為自動啟動或手動啟動」,接下來會繼...
今天的題目來源,同樣是 stack overflow,標題是:「Gitlab CICD: use functions inside gitlab-ci.yml」...