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 ...
随机推荐
- python——操作系统的发展史
一.手工操作 —— 穿孔卡片 1946年第一台计算机诞生--20世纪50年代中期,计算机工作还在采用手工操作方式.此时还没有操作系统的概念. 程序员将对应于程序和数据的已穿孔的纸带(或卡片)装入 ...
- C++复制构造函数,类型转换构造函数,析构函数,引用,指针常量和常量指针
复制构造函数形如className :: className(const &) / className :: className(const className &)后者能以常 ...
- cmd修改路径
1. 切换盘符: 输入X:(例如C:)+回车 2. 查看当前目录下的文件:输入dir+回车 3. 选择想要的文件,输入:cd+文件名
- git 打tag标着版本
1.git tag v1.0 2.git push origin v1.0
- 注册码云和使用git
1.4.1 码云 注册码云 码云 填写信息注册后进入 创建仓库 问题:提交到码云的中文变成乱码 可以改变本机文件保存的编码为UTF-8即可 1.4.2 git git官网下载安装包 双击安装包开始安装 ...
- 记一次SQL PLUS 不能登录的异常处理
记一次SQL PLUS 不能登录的异常处理 现象 通过远程PLSQL Developer 访问数据发现卡死没响应. 通过Sqlplus 访问数据同样hang死在登录界面,且不能通过Ctrl+C取消 [ ...
- java后端处理高并发
一个登陆页面可能会被很多账户同时登陆或者注册,那么我们就好处理这些并发,否则降低程序的使用率,甚至程序奔溃,下面一段代码处理程序的高并发效果不错. /** *@author xiaoxie *@dat ...
- 链表实现队列(python)
# -*- coding: utf-8 -*- from collections import deque class Node(object): def __init__(self, value=N ...
- mybatis3.0-[topic10-14] -全局配置文件_plugins插件简介/ typeHandlers_类型处理器简介 /enviroments_运行环境 /多数据库支持/mappers_sql映射注册
mybatis3.0-全局配置文件_ 下面为中文官网解释 全局配置文件的标签需要按如下定义的顺序: <!ELEMENT configuration (properties?, setting ...
- 本地python环境检查,插件检查及插件安装
电脑windows键+r 输入cmd 在python命令模式下 pip list --可以查看已安装的插件情况 或者用 pip freeze 也可以 卸载插件:pip uninstall *** ...