iT邦幫忙

2025 iThome 鐵人賽

DAY 9
0
DevOps

PM 的 30 日 DevOps 養成計畫 系列 第 9

CI/CD 的執行利器 - Jenkins

  • 分享至 

  • xImage
  •  

之前曾經坐在 SRE 的對面時,常常聽到 Jenkins 這個字,只覺得講起來很酷,好像是那種只要學會講就很潮的字,但 Jenkins 其實是一個實踐 DevOps 的好工具。

為什麼大家都在講 Jenkins

發展時間從 2004 年開始,Jenkins 因為是 CI/CD 界的前輩級工具,所以已經發展得很成熟,除了有超過 1,800 個外掛程式(簡單來說就是可以在任何團隊中運行),更有強大的社群支持,讓使用者有堅強的後盾。

另外,Jenkins 也是一個開源的伺服器,可以高度的客製化,對於公司來說,實在是初期使用時最優先考慮的選擇之一。

Jenkins 在做什麼?

Jenkins 最主要就是實現發版自動化的流程,只要工程師將程式碼推送到 GitHub 後,Jenkins 就會執行測試、打包、部署的流程,節省人工手動的時間與出錯的可能。

Jenkins 第一個執行的時間就是在 feature branch 合併到 develop branch 時,就會自動啟動合併任務,整個流程也可以在有 UI 的儀表板上看到執行是成功或是失敗。請求成功之後,Jenkins 會再開始另外一個自動部署的 pipeline 到測試環境,確保程式碼可以被測試。

一切的自動化則透過 Devops 工程師或是 SRE 寫好的腳本進行,這個腳本也就像是告訴 Jenkins 你想要流程怎麼進行的說明書。

Jenkins 也有它的門檻

雖然有很多優點,但 Jenkins 也有他執行上的門檻,包含撰寫腳本的工程師需要有一定的知識背景。另外,Jenkins 因為不是 SaaS 服務,所以需要自己去維護,像是更新外掛程式跟架設伺服器。

Jenkins 是 GitHub 的好夥伴,在 GitHub 上只要有程式變動,就會觸發 Jenkin s 開始動作,這也回到了他可以串接各式服務的特質,實現 CI/CD 的自動化理念。


上一篇
Git Flow - 大家都要好好排隊的發版規則
下一篇
全自動咖啡機 - GitHub Actions
系列文
PM 的 30 日 DevOps 養成計畫 24
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言