美文网首页Android开发经验谈
Jenkins 获取 Git 的提交记录(Change Log)

Jenkins 获取 Git 的提交记录(Change Log)

作者: Tolecen | 来源:发表于2018-01-04 12:35 被阅读1360次

    工作中用 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获取即可,比如下图是我使用的地方

    相关文章

      网友评论

        本文标题:Jenkins 获取 Git 的提交记录(Change Log)

        本文链接:https://www.haomeiwen.com/subject/cdkrnxtx.html