iT邦幫忙

2022 iThome 鐵人賽

DAY 16
0
自我挑戰組

Android 工程師的 CI/CD 之旅系列 第 16

Jenkins Job 的頻率跟觸發條件(1/2)

  • 分享至 

  • xImage
  •  

14:00 Alice: 我想要先發版,可是……好多 Job 在跑,能不能先暫停啊
14:00 Carol: 我的分支在跑 Unit Test,等它一下跑完
14:02 Alice: 有沒有其他人的也在跑啊?
14:07 Bob: 等一下我要把程式碼 push,等等會再跑一下
14:10 Alice: 跟 QA 確認,我只要下班前發版就好了,那我就等等吧

因應開發流程,在大家把程式碼推到遠端之後,會執行很多的 Job,難免 Jenkins 就會變得很忙。當然有遇到緊急需要處理的,也是可以優先執行最重要的 Job。故事中,其實也就是開發跟發版的 Job 都在進行,那就回頭檢視看看,觸發條件或是啟動頻率造成有些時候 Jenkins 太忙了。

首先,先列出開發中 CI 相關的 Job 的觸發條件和頻率:

  • 執行頻率:每兩小時啟動
  • 觸發條件:只要有出現新的遠端分支

在多人合作開發少頻率合理,畢竟在開發當中,也無法預期有多少的人在異動程式碼。但只有兩人,甚至一人團隊,建議頻率可以再改成四小時,或是六小時執行一次。讓 Jenkins 不會隨時隨地都在背後執行,一直處於忙碌中的狀態。

觸發條件乍看之下合理,的確所有的遠端分支是需要檢查。不過像我們在討論 CI/CD 流程,在處理 CI/CD 的分支其實可以去做排除不需要做 CI 的動作。在 Jenkins 當中,可使用正則式去處理符合條件的分支。

不過,在排除處理 CI/CD 分支之前,我們來先看看團隊的分支命名規則是什麼,才能整理我們要排除哪些分支是不需在此 Job 執行,我們明天見!


上一篇
優化自動化流程的 3R:Review、Refactor 和 Release
下一篇
Jenkins Job 的頻率跟觸發條件(2/2)
系列文
Android 工程師的 CI/CD 之旅30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言