上一篇舉了一個小例子來說明,一般遇到比較冗長的 .gitlab-ci.yml 大致上可以怎麼思考整理及重構,那麼平常在規劃及設計流水線的時候該怎麼注意呢? 一、...
隨著專案的演進,當團隊導入 GitLab CI 工作流程之後,通常會是陸續的針對專案需要增加更多的流程,而時間一久 .gitlab-ci.yml 的內容就很有可...
上一篇談到從 .gitlab-ci.yml 開始建立關卡及工作,而後依序分派到工作佇列,等待 GitLab Runner Server 上的 Runner 來承...
讓 GitLab CI 的工作流程的流水線加速,透過上一篇的大部分解有了思考流程上的脈絡,接下來要開始從每個階段中的工作細節去思考,應該怎麼讓整個流水線再次的加...
在專案過程中,透過 GitLab CI 建立流水線,讓研發過程中如編譯、測試、打包、部署等工作都得以順利的自動化,除了讓開發變得更有效率,也在無形之中,形成了保...
在大型專案中,可能會把專案依功能、架構等等因素,切分為多個子專案,雖然切分為多個子專案,有些邏輯可能還是有類似的地方,例如前端或後端的部署可能只有環境變數的不同...
軟體開發的流程中,有些時候,同樣的內容因應開發階段的不同,可能需要在不同的系統上執行,如軟體的部署,在開發階段可能需要部署到開發(Develop)環境,在正式上...
隨著技術的演進,許多程式語言、框架都開始有了套件相依管理的機制,像 PHP 使用了 Composer,JavaScript、Node.js 由 npm 管理而...
有些時候,流水線(pipeline)上的系統部署、原始碼打包等工作,可能需要花費大量的時間或系統資源,因此,在這種資源或時間成本相對高的專案上,當流水線上還有工...
在 GitLab CI 中,流水線上每道關卡每個工作順利執行與否,都是控制著整條流水線如何進行的依據關鍵之一;工作可能因為當下的環境因素無法執行,但重新執行即可...
在流水線的進行中,有些時候工作能否被執行,跟執行工作的環境是絕對相依的,以 GitLab.com 提供的免費 GitLab Runner 來說,通常承接工作的...
在 GitLab runner 執行工作時,每個工作階段都是可以摺疊的(collapsible)的,一來是方便專注檢查每個階段,也可以透過上面顯示的時間作工作耗...
在 GitLab CI 中每個工作 (job) 最重要的區段,大概可以說是 script 的部分,每個工作都必須有 script 的宣告,才能夠運作,整份 .g...
在一般的工作平行化處理中,可以透過 parallel 而起的兩個參數CI_NODE_INDEX 和 CI_NODE_TOTAL 做工作的分頁拆分,但因為參數僅止...