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

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

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

由于 Jenkins 并沒有官方的插件來做這個事,只能找現(xiàn)成的已經(jīng)有的開源代碼自己編譯插件,最終也終于找到了。

那就直接開始做了。

下載源代碼

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

下載源碼。

安裝 Maven

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

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

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

/Users/XXX/apache-maven-3.5.0

然后

$ vi ~/.bash_profile

添加 Maven 相關(guān)環(huán)境

#?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 下,執(zhí)行

$?mvn verify

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

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

使用方法

在項目的配置中,構(gòu)建環(huán)境下面多了一項 ?Add Changelog Information to Environment

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

如下圖:

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

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

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

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。