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
Jenkins 获取 Git 的提交记录(Change Log)的更多相关文章
- 规范git commit提交记录和版本发布记录
在开发过程中我们一般都会用到git管理代码,在git commit提交代码时我们一般对git commit message随便写点简单的描述,可是随着项目参与人数的增多,发现提交的commit记录越来 ...
- Jenkins获取git tags代码
配置Jenkins获取git tag代码的方式其实方法很多,目前我使用比较多的主要是通过Git Parameter 来配置动态的获取最新tags代码,主要我们首先需要安装一下Git Parameter ...
- jenkins获取git上的源码
jenkins获取git上的源码会遇到三种情况,我们在这里会分别介绍一下: 一.获取git上public(公有)的项目 只需配置仓库的URL即可 jenkins下使用git获取源码的配置方法 二.获取 ...
- git 跟踪提交记录
一.克隆git仓库 git clone ssh://hwl@xxx/home/data/repositories/git.git 二.申明使用人信息,以便跟踪提交记录 $ git config --g ...
- git 查看提交记录
查看提交的内容 -p 选项,同时在 - 后加数字限制一下数目 git log -p -2. commit 500eeadd71a21f1166803e12a792bfa86f4ca784 (HEAD ...
- GitStats - 统计Git所有提交记录工具
如果你是研发效能组的一员或者在从事 CI/CD 或 DevOps,除了提供基础设施,指标和数据是也是一个很重要的一环,比如需要分析下某个 Git 仓库代码提交情况: 该仓库的代码谁提交的代码最多 该仓 ...
- Git 删除提交记录
.Checkout git checkout --orphan latest_branch 2. Add all the files git add -A 3. Commit the changes ...
- 【转】获取Jenkins构建时Git Change Log
原文:https://www.jianshu.com/p/513ab6915dbd 在基于Jenkins进行CI持续集成的工作,在构建后上传蒲公英时想将本次版本的git commit信息同步到蒲公英的 ...
- Jenkins进阶-获取git tags代码(2)
配置Jenkins获取git tag代码的方式其实方法很多,目前我使用比较多的主要是通过Git Parameter 来配置动态的获取最新tags代码,主要我们首先需要安装一下Git Parameter ...
随机推荐
- JavaScript (内置对象及方法)
JavaScript中的对象分为3种:内置对象.浏览器对象.自定义对象 JavaScript 提供多个内置对象:Math/Array/Number/String/Boolean... 对象只是带有属性 ...
- Dism++备份还原系统
使用dism++备份和还原需要下载该工具,并选择与系统对应的Dism++x64或Dism++x32运行进行操作. Dism++网络下载地址:http://www.chuyu.me/zh-Hans/in ...
- unittest 运行slenium(三)---通过数据驱动形式运行用例
一: 获取数据 获取用例所在位置,通过OpenExcelPandas来读取用例里面的全部数据.通过某个列名来创建新的序号. 并将结果转换成list类型,将其作为ddt数据的来源. 1. 在test文 ...
- python2.7 安装pycrypto库报错
windows + python2.7 先安装VC包 https://download.microsoft.com/download/7/9/6/796EF2E4-801B-4FC4-AB28-B59 ...
- linux网络编程之socket编程(九)
转眼又快到十一月份了,北京已经是完全进入冬天的节奏,外面冷风嗖嗖的,不过在夜深人静之时,学习永远成了我最快乐的时光,只有此时会觉得自己是如此踏实,虽说白天工作也是编一天程,但是此时的编程,是一种业余爱 ...
- k8s的api
一.namespaced resources 所谓的namespaced resources,就是这个resource是从属于某个namespace的, 比如pod, deployment, serv ...
- 0017SpringBoot注册Servlet三大组件(Servlet、Filter、Listener)
由于SpringBoot默认是以jar包的形式启动嵌入式servlet容器来启动SpringBoot的web应用,所以没有web.xml文件,那么如何配置Servlet.Filter.Listener ...
- npm link的使用
npm link的使用 https://www.jianshu.com/p/aaa7db89a5b2
- SSL 部署,实现 https 化
HTTPS 请求更安全, 且容易被搜索引擎收录. 现在很多服务器都有免费证书如腾讯云.七牛云.阿里云. 本篇以阿里云为例. 一.申请 SSL 证书 1.登录阿里云服务器: 2.产品与服务 -> ...
- div 水平垂直居中
css <style> .main{ background: #999999; width: 600px; height: 400px; position: absolute; top: ...