Jenkins 獲取 Git 的提交記錄(Change Log)


工作中用 Jenkins 做 iOS 和 Android 的持續集成,之前實現的是當 git 有新代碼提交的時候,就會自動編譯並上傳安裝包到蒲公英,然后自動發送QQ群通知或者討論組通知給相關小伙伴,方便其他小伙伴直接下載測試。但也有一點不方便的是,其他人下載還不能明確的知道這一版更新了什么。考慮到因為每次 git 的代碼提交會說明這次提交修改了什么,所以就打算直接把獲取 git 的提交記錄顯示在最終的編譯完成的通知中,直觀的顯示給每個人。

最后收到通知的效果基本是下面這個樣子:

 

 

由於 Jenkins 並沒有官方的插件來做這個事,只能找現成的已經有的開源代碼自己編譯插件,最終也終於找到了。

那就直接開始做了。

下載源代碼

首先,這個插件的源碼地址是:https://github.com/daniel-beck/changelog-environment-plugin

下載源碼。

安裝 Maven

然后編譯,編譯需要 Maven,如果沒有裝Maven,下面有一個簡單的安裝步驟,如果安裝過程中出現問題,還請自行谷歌解決。

下載地址:https://maven.apache.org/download.cgi

解壓到某個目錄下,例如:

/Users/XXX/apache-maven-3.5.0

然后

$ vi ~/.bash_profile

添加 Maven 相關環境

# Maven

export M2_HOME=/Users/sunbinhua/apache-maven-3.5.0

export PATH=$PATH:$M2_HOME/bin

保存退出,輸入命令讓 Maven 生效

$ source ~/.bash_profile

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

編譯源碼生成 hpi

cd 到 changelog-environment-plugin-master 下,執行

$ mvn verify

經過比較長的時間,會在changelog-environment-plugin-master/target/下有個changelog-environment.hpi文件這就是我們需要的插件。

然后把生成的插件上傳到 Jenkins。

使用方法

在項目的配置中,構建環境下面多了一項  Add Changelog Information to Environment

選中后,多了三項:Entry Format、File Item Format、Date Format

如下圖:

 
 

 

Entry Format中添加 %3$s(at %4$s via %1$s),參數分別為ChangeLog內容,時間,提交人。

Date Format中添加 yyyy-MM-dd HH:mm:ss 就是時間格式。

在命令行中使用SCM_CHANGELOG獲取即可,比如下圖是我使用的地方

 

 




轉自:https://www.jianshu.com/p/f03fc1bf5783


免責聲明!

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



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