【轉】獲取Jenkins構建時Git Change Log


原文:https://www.jianshu.com/p/513ab6915dbd

 

 在基於Jenkins進行CI持續集成的工作,在構建后上傳蒲公英時想將本次版本的git commit信息同步到蒲公英的下載頁面。Jenkins每次構建都會根據Git 的提交記錄生成一個Web頁面來顯示自上次構建之后的提交記錄列表(如圖1),但是Jenkins卻並沒有提供可以獲取這個Strings的功能。 

 

1.Maven安裝

    下載地址:https://maven.apache.org/download.cgi(如圖)。

    將下載的壓縮包解壓到某個目錄下,例如:/Users/用戶名/apache-maven-3.5.3。

    在終端執行:

        $ vi ~/.bash_profile

        $ export M2_HOME=/Users/用戶名/apache-maven-3.5.3  

        $ export PATH=$PATH:$M2_HOME/bin

    最后在終端執行如下命令來使.bash_profile生效:

        $ source ~/.bash_profile

    可以輸入mvn -v來檢查Maven是否生效

 

 

2.插件安裝

 Jenkins里面同樣有人反饋了同樣的需求,有人給出了一個插件解決獲取git change log的需求,插件開源地址(https://github.com/daniel-beck/changelog-environment-plugin

2.1 因作者並沒有將插件編譯上傳,所以我們需要將項目Clone到本地

2.1 然后在項目根目錄下執行 mvn verify ,因為依賴較多,第一次build時間會比較漫長,需耐心等待

2.3 build完成之后項目根目錄中“target”文件夾中會出現“changelog-environment.hpi”這個文件

(注:mvn verify 是Maven命令,文章最后簡單說明如何安裝),插件現已上傳到GitHub上(https://github.com/KrisMarko/kr-changelog)。

3.使用

    在Jenkins的系統管理-> 管理插件-> 高級->上傳插件,將剛剛編譯生成的“changelog-environment.hpi”文件上傳並安裝到Jenkins中,安裝完成后,會在“構建環境”中有“Add Changelog Information to Environment”選項,選中后會有Entry Format、File Item Format、Date Format三個可配置項,第一個就是填寫提交日志輸出格式的地方,采用的是Java String.format占位符的形式。其中可以使用四個參數,分別是:

1.提交的作者

2.提交的 ID

3.提交信息

4.提交時間(通過 Date Format 控制格式)

    例,我在Entry Format輸入 %3$s (via %1$s)\n,然后有一條提交記錄,提交信息為「fix bug」,提交者為 Kris.Marko,那么輸出到環境變量的字符串就是 “fix bug (via Kris.Marko)\n” (后面的 \n 是為了多層轉義,視使用情況請自行調整)。

    通過如上設置之后,在構建時就可以在shell中來獲得SCM_CHANGELOG變量來取到更新日志了。比如自動上傳更新信息到內測平台(如蒲公英)。

 


 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM