iT邦幫忙

2023 iThome 鐵人賽

DAY 4
0

Jenkins 和 Gitlab CI

今天的進度嚴重被干擾 QQ 只好寫點小文,明天才有空可以繼續實測了…..

最近在 trace 公司專案的時候發現,原來公司一開始也有使用 Jenkins(Jenkins是一款開源CI&CD軟體,用於自動化各種任務,包括構建、測試和部署。)。

因此對於兩個的差別產生了點好奇,聽前輩分享,Jenkins 的學習曲線比較高,雖然他有高度可以客製化的彈性,但會需要一些技術專長來設定,也因此在開始及維護上對新手來說並不是那麼友善,另外,雖然兩邊都有大量的第三方套件可以支援,但 GItLab 有內建的安全監控, 更可靠的緩存以及並行處理等的高度效能,最重要的還有整合(提供 Git 儲存、問題跟蹤、程式審查機制和持續集成/持續交付 (CI/CD) 管道等功能),讓 GItLab 在市場上的佔率也漸漸提高。

GitLab Server 與 GitLab CI Runner 的關係

https://ithelp.ithome.com.tw/upload/images/20230919/20162639MIsEvKfvNa.png

上一篇有提到 GitLab CI Runner (可以執行Runner Service 的平台有很多種,on GNU/Linux, macOS, and Windows (pretty much anywhere you can run Docker).)

Runner 是透過 GitLab API 網路連線到 GitLab Server 上,GitLab Runner 會透過 API 定時向 GitLab 問有沒有新的工作,有的話就接回來做。那假設我們想要指定某個 runner 承接某個特定工作呢?

這時候就可以使用 tags

jobs:
	tags:
		- docker

當然,如果一個 runner 要給很多 project 使用時,也可以設定成 shared runner,例如 gitlab.com 那樣,直接提供不限 User、Project 皆能任意使用的 Runner。或者也可以將 runner 設定成 group runner,如此一來在相同 Group 內的所有 Project 皆能直接取用此 Runner(最近剛好踩到這個雷啊…..)。

以上就是今天的小筆記!明日再戰

參考文章:


上一篇
About .gitlab-ci.yml  file
下一篇
小試身手,建立第一條 CI/CD Pipeline
系列文
往後端邁進的菜前端30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言