分支合并前,通常需要在本地進行合并測試,看是否有代碼沖突,編譯是否通過,沒有問題了,才敢把合并后的代碼往主干分支提交,如果分支很多怎么辦? 如果日常需要經常合并怎么辦? 每次手動來這么一個測試步驟會不會很煩? 現在有這么一個插件,可以在服務器進行自動合并檢測,并報告給GitLab, 用戶可以愉快的進行合并分支。
一、在jenkins中安裝Gitlab Merge Request Builder?插件
在可選插件中選擇該插件并進行安裝,如圖
二、在jenkins系統設置中設置Gitlab Merge Request Builder
安裝好插件后,在首頁中點擊“系統管理”-》“系統設置”可對Merge Request進行設置,如圖
jenkins UserName:這個用戶必須是GitLab用戶,用于來訪問GitLab的
Jenkis Api Token:這個Token可以從GitLab獲取到
Crontab line:定時時間,推薦每5分鐘檢測一次
三、新建Job
首頁點擊“新建”,輸入Job名,選擇“構建一個自由風格的軟件項目”,
配置Git源碼,如圖:
Credentials:不知道配置的請參考《Jenkins+Gradle+Git+Centos 實現android持續集成、打包(超詳細)》
${gitlabSourceBranch}:合并的源分支,如develop,如果測試不通過,可直接輸入develop分支名
${gitlabTargetBranch}:合并的目標分支,如master,如果測試不通過,可直接輸入master
配置構建觸發器,選擇GitLab Merge Requests Builder
GitLab Project Path: 輸入Git地址尾后部分,如git地址是git@gitlab.xxx.com:Android/long_temp.git,輸入Android/long_temp
假如還需要在合并后測試是否編譯通過,在構建步驟中,選擇Invoke Gradle script,配置如下:
點擊“保存”。
測試如下:
在GitLab中發起一個Merge Request
Jenkins在5分鐘后(配置的時間)檢測到這個pull Request,隨后進行合并和構建的工作,并通知GitLab,如果測試通過(如圖Tests Passed消息),點擊Accept Merge Request,合并工作即可完成。