Jenkins之路-設定與實作(二)
上一篇文章結尾已經完成了專案建置,還沒看過可以去參考看看
Jenkins之路-設定與實作(一)
本身是Android工程師,最近因為工作中需要,打算把實作的過程中遇到的問題,來記錄下來。medium.com
但是總不可能每次都我們都要跑道專案頁面手動按「馬上建置」吧,這樣太麻煩了而且有違我們自動化部屬宗旨。
目前常見自動化觸發建置的做法有兩種
- 創建專門的branch去專門負責cicd,當這個branch有變動就去觸發jenkins
- 透過web hook或git hook去觸發jenkins
目前我這邊是透過git hook去執行cicd,以下也是以git hook去示範。
Git Hooks 介紹
Git Hooks 的實現其實非常簡單,就是就.git/hooks文件下,保存了一些 shell 腳本,然後在對應的鉤子中執行這些腳本就行了。比如下圖中,這是一個還沒有配置 Git Hooks 的倉庫,默認會有很多.sample結尾的文件,這些都是示例文件
我們打開pre-commit.sample文件看一下其中的內容,大致意思是說這是一個示例,做了一些格式方面的檢測,這個腳本默認是不生效的,如果要生效,把文件名改為pre-commit即可。
Git 支持的所有鉤子見下表
PS:完整鉤子說明,請參考官網
目前我這邊的專案是使用post-receive 這個鉤子,他會在git推送後觸發。
可以看到上面的code可以做到取出最新的tag,然後tag是由SIT、UAT、PROD開頭的會觸發jenkins。
這邊設定完了以後就可以回到jenkins 專案組態頁面,回到建置階段就可以依照tag去做不同情境做處理。