iT邦幫忙

gitlab ci相關文章
共有 40 則文章
鐵人賽 DevOps DAY 21

技術 Day21 - GitLab CI 選擇指定的 runner 來承接工作,談標籤 tags

在流水線的進行中,有些時候工作能否被執行,跟執行工作的環境是絕對相依的,以 GitLab.com 提供的免費 GitLab Runner 來說,通常承接工作的...

鐵人賽 DevOps DAY 24

技術 Day24 - GitLab CI 關於 GitLab Runner 的 Cache 快取設定及快取策略

隨著技術的演進,許多程式語言、框架都開始有了套件相依管理的機制,像 PHP 使用了 Composer,JavaScript、Node.js 由 npm 管理而...

鐵人賽 DevOps DAY 25

技術 Day25 - GitLab CI 在特定的環境使用特定變數,談變數管理與 environment

軟體開發的流程中,有些時候,同樣的內容因應開發階段的不同,可能需要在不同的系統上執行,如軟體的部署,在開發階段可能需要部署到開發(Develop)環境,在正式上...

鐵人賽 DevOps DAY 26

技術 Day26 - GitLab CI 啟動其它專案啟動流水線或動態產出新的流水線,談觸發 trigger

在大型專案中,可能會把專案依功能、架構等等因素,切分為多個子專案,雖然切分為多個子專案,有些邏輯可能還是有類似的地方,例如前端或後端的部署可能只有環境變數的不同...

鐵人賽 DevOps DAY 22

技術 Day22 - GitLab CI 控制工作終止因素的各種方法,談 retry、timeout

在 GitLab CI 中,流水線上每道關卡每個工作順利執行與否,都是控制著整條流水線如何進行的依據關鍵之一;工作可能因為當下的環境因素無法執行,但重新執行即可...

鐵人賽 DevOps DAY 29

技術 Day29 - GitLab CI 如何讓工作流程流水線跑快一點?之三 讓 Runner 執行更快一點

上一篇談到從 .gitlab-ci.yml 開始建立關卡及工作,而後依序分派到工作佇列,等待 GitLab Runner Server 上的 Runner 來承...

鐵人賽 DevOps DAY 18

技術 Day18 - GitLab CI 如何透過參數幫忙執行參數不同但內容相同的工作?工作並行陣列

在一般的工作平行化處理中,可以透過 parallel 而起的兩個參數CI_NODE_INDEX 和 CI_NODE_TOTAL 做工作的分頁拆分,但因為參數僅止...

鐵人賽 DevOps DAY 19

技術 Day19 - GitLab CI 返璞歸真談工作的核心 .gitlab-ci.yml 的 script

在 GitLab CI 中每個工作 (job) 最重要的區段,大概可以說是 script 的部分,每個工作都必須有 script 的宣告,才能夠運作,整份 .g...

鐵人賽 DevOps DAY 30

技術 Day30-2 - GitLab CI 還可以怎麼重構及整理 .gitlab-ci.yml ?

上一篇舉了一個小例子來說明,一般遇到比較冗長的 .gitlab-ci.yml 大致上可以怎麼思考整理及重構,那麼平常在規劃及設計流水線的時候該怎麼注意呢? 一、...

鐵人賽 DevOps DAY 28

技術 Day28 - GitLab CI 如何讓工作流程流水線跑快一點?之二 逐一調整

讓 GitLab CI 的工作流程的流水線加速,透過上一篇的大部分解有了思考流程上的脈絡,接下來要開始從每個階段中的工作細節去思考,應該怎麼讓整個流水線再次的加...

鐵人賽 DevOps DAY 30

技術 Day30-1 - GitLab CI 可以怎麼重構及整理 .gitlab-ci.yml 讓內容更好瞭解?

隨著專案的演進,當團隊導入 GitLab CI 工作流程之後,通常會是陸續的針對專案需要增加更多的流程,而時間一久 .gitlab-ci.yml 的內容就很有可...

鐵人賽 DevOps DAY 27

技術 Day27 - GitLab CI 如何讓工作流程流水線跑快一點?之一 從 .gitlab-ci.yml 大部分解

在專案過程中,透過 GitLab CI 建立流水線,讓研發過程中如編譯、測試、打包、部署等工作都得以順利的自動化,除了讓開發變得更有效率,也在無形之中,形成了保...

鐵人賽 DevOps DAY 20

技術 Day20 - GitLab CI 返璞歸真續談 script 之自訂段落 section

在 GitLab runner 執行工作時,每個工作階段都是可以摺疊的(collapsible)的,一來是方便專注檢查每個階段,也可以透過上面顯示的時間作工作耗...

鐵人賽 DevOps DAY 23

技術 Day23 - GitLab CI 新的流水線啟動,已經在執行的流水線工作是否停止?談 interruptible

有些時候,流水線(pipeline)上的系統部署、原始碼打包等工作,可能需要花費大量的時間或系統資源,因此,在這種資源或時間成本相對高的專案上,當流水線上還有工...

鐵人賽 DevOps DAY 4

技術 Day 4|CI/CD 是什麼?工具比較(Jenkins, GitHub Actions, GitLab CI)

●CI/CD是什麼? 主要目的是將軟體開發過程自動化,從最初的程式碼提交 (code commit) 到最終的部署 (deployment),可以拆成兩個部分來...

鐵人賽 DevOps DAY 2

技術 Day02 - 使用 !reference 更靈活的管理 CI/CD YAML

開始的第一篇,我們來談談在 GitLab CI 中 CI/CD YAML 語法中的關於重複利用的語法自 13.3 版以後,比較不一樣的地方。從 13.3 版的年...

鐵人賽 DevOps DAY 5

技術 Day05 - 深入 CI/CD Components 的 inputs

在上一篇中談到關於 GitLab 的 CI/CD Components 及一些 inputs 的初步體驗,在今天的內容,我們會談到更多關於使用 inputs 的...

鐵人賽 DevOps DAY 4

技術 Day04 - 初探 CI/CD Components 及其 inputs

GitLab CI/CD YAML 在 13.x 版本的年代,如果要與團隊或甚至是 Open Source 讓社群都可以一起共享整個流水線的規劃,大概只能透過...

鐵人賽 DevOps DAY 3

技術 Day03 - Pipeline 的變數宣告 Variables

在過去系列的文章中,曾經談過GitLab CI 怎麼從外帶入參數到流水線中?談變數 variable當時提到,變數也可以在手動觸發時帶入,但當時,必須要透過開發...

鐵人賽 DevOps DAY 17

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

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

鐵人賽 DevOps DAY 7

技術 Day07 - 初探 GitLab CI/CD Components

之前的幾天,介紹了關於 inputs 的使用,有提到 inputs 是 GitLab CI/CD Components 的一部分,因此,在接下來會開始更深入的介...

鐵人賽 DevOps DAY 6

技術 Day06 - 用 GitLab 取值函式 操縱 input 的輸入值

在 Day05 的時候提到,使用 inputs 可以透過正規表示式 regex 來規範使用者輸入的內容需要符合正規表示式的定義,另外,在 inputs 裡頭,還...

鐵人賽 DevOps DAY 24

技術 Day24 - 線上撰寫 GitLab CI/CD YAML 的神兵利器 Pipeline Editor

在 GitLab 13.x 版本的年代,編輯 GitLab CI/CD YAML 幾乎只能在 Git Commit & Push Source Code...

鐵人賽 DevOps DAY 29

技術 Day29 - GitLab CI/CD Pipeline 的總開關 workflow

這一篇的內容,回到基礎的 GitLab CI/CD YAML 語法,這次要談關於 CI/CD YAML 的 workflow,workflow 這個語法主要在控...

鐵人賽 DevOps DAY 14

技術 Day14 - GitLab CI/CD YAML 的 rules 與 needs

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

鐵人賽 DevOps DAY 10

技術 Day10 - 初探 GitLab CI/CD steps

過去的幾篇介紹了許多與 GitLab CI/CD Components 相關的內容,像是 inputs、Components以及對應的 Catalog 平台等等...

鐵人賽 DevOps DAY 18

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

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

鐵人賽 DevOps DAY 9

技術 Day09 - 發布 CI/CD Components 到 GitLab Catalog

在上一篇的內容中介紹了如何從 Catalog 找到想要的 CI/CD Components,也提到使用 Components 時可以透過 Partial sem...

鐵人賽 DevOps DAY 13

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

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

鐵人賽 DevOps DAY 16

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

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