iT邦幫忙

鐵人檔案

第 12 屆 iThome 鐵人賽
回列表
DevOps

用 GitLab CI 玩轉自動化測試與佈署 系列

GitLab 推出至今已許多年,早已成為許多團隊、企業在建立內部原始碼版本控制很重要的夥伴,其 GitLab CI 在建立內部持續整合(Continuous Integration, CI)、持續部署(Continuous Delivery, CD)流程上,更是提供了很不錯的解決方案,能滿足許多的需求。

我將透過這系列文章,紀錄 GitLab CI 使用過程中可能發生的種種,希望透過這系列可以幫助大家 "Up And Running"

鐵人鍊成 | 共 31 篇文章 | 65 人訂閱 訂閱系列文 RSS系列文
DAY 21

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

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

2020-10-06 ‧ 由 墨嗓 分享
DAY 22

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

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

2020-10-07 ‧ 由 墨嗓 分享
DAY 23

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

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

2020-10-08 ‧ 由 墨嗓 分享
DAY 24

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

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

2020-10-09 ‧ 由 墨嗓 分享
DAY 25

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

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

2020-10-10 ‧ 由 墨嗓 分享
DAY 26

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

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

2020-10-11 ‧ 由 墨嗓 分享
DAY 27

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

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

2020-10-12 ‧ 由 墨嗓 分享
DAY 28

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

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

2020-10-13 ‧ 由 墨嗓 分享
DAY 29

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

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

2020-10-14 ‧ 由 墨嗓 分享
DAY 30

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

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

2020-10-15 ‧ 由 墨嗓 分享