【转】获取Jenkins构建时Git Change Log

摘要:
在构建后上传蒲公英时,您希望将此版本的git提交信息同步到蒲公英的下载页面。每次Jenkins构建时,都会根据Git的提交记录生成一个网页,以显示自上次构建以来的提交记录列表(如图1所示)。然而,Jenkins没有提供获取字符串的函数。

原文:https://www.jianshu.com/p/513ab6915dbd

 在基于Jenkins进行CI持续集成的工作,在构建后上传蒲公英时想将本次版本的git commit信息同步到蒲公英的下载页面。Jenkins每次构建都会根据Git 的提交记录生成一个Web页面来显示自上次构建之后的提交记录列表(如图1),但是Jenkins却并没有提供可以获取这个Strings的功能。 

 【转】获取Jenkins构建时Git Change Log第1张

1.Maven安装

    下载地址:https://maven.apache.org/download.cgi(如图)。

    将下载的压缩包解压到某个目录下,例如:/Users/用户名/apache-maven-3.5.3。

    在终端执行:

        $ vi ~/.bash_profile

        $ export M2_HOME=/Users/用户名/apache-maven-3.5.3  

        $ export PATH=$PATH:$M2_HOME/bin

    最后在终端执行如下命令来使.bash_profile生效:

        $ source ~/.bash_profile

    可以输入mvn -v来检查Maven是否生效

【转】获取Jenkins构建时Git Change Log第2张

2.插件安装

 Jenkins里面同样有人反馈了同样的需求,有人给出了一个插件解决获取git change log的需求,插件开源地址(https://github.com/daniel-beck/changelog-environment-plugin

2.1 因作者并没有将插件编译上传,所以我们需要将项目Clone到本地

2.1 然后在项目根目录下执行 mvn verify ,因为依赖较多,第一次build时间会比较漫长,需耐心等待

2.3 build完成之后项目根目录中“target”文件夹中会出现“changelog-environment.hpi”这个文件

(注:mvn verify 是Maven命令,文章最后简单说明如何安装),插件现已上传到GitHub上(https://github.com/KrisMarko/kr-changelog)。

3.使用

    在Jenkins的系统管理-> 管理插件-> 高级->上传插件,将刚刚编译生成的“changelog-environment.hpi”文件上传并安装到Jenkins中,安装完成后,会在“构建环境”中有“Add Changelog Information to Environment”选项,选中后会有Entry Format、File Item Format、Date Format三个可配置项,第一个就是填写提交日志输出格式的地方,采用的是Java String.format占位符的形式。其中可以使用四个参数,分别是:

1.提交的作者

2.提交的 ID

3.提交信息

4.提交时间(通过 Date Format 控制格式)

    例,我在Entry Format输入 %3$s (via %1$s) ,然后有一条提交记录,提交信息为「fix bug」,提交者为 Kris.Marko,那么输出到环境变量的字符串就是 “fix bug (via Kris.Marko) ” (后面的 是为了多层转义,视使用情况请自行调整)。

    通过如上设置之后,在构建时就可以在shell中来获得SCM_CHANGELOG变量来取到更新日志了。比如自动上传更新信息到内测平台(如蒲公英)。

 


免责声明:文章转载自《【转】获取Jenkins构建时Git Change Log》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇多线程编程实战(一)微信公众平台开发教程(六)获取个性二维码下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

pycharm最新版本激活码(永久有效) python安装教程

Mac 系统自带python  1.打开终端, 输入 python 可以查看python当前版本。 2.输入“python”回车后即进入解释器,例如打印“hello world!”, 可输入 ‘ print 'hello world!' ’。 安装IDE 1.PyCharm是一个多功能的集成开发环境,只需要在pycharm中创建python file就运行...

小米8的MIUI11通过抓取日志查看屏幕型号

如上,标题就是本次的测试环境,小米8手机(18年9月购入),MIUI11系统, 众所周知,MIUI11已经不再“硬件信息”里显示屏幕的厂家信息了(不知道是不是心虚了), 所以之前那些进入“cit模式”或者“*#*#6484#*#*、*#*#284#*#*”之类的已经都不行了, 现在只能通过抓取手机测试日志的方式自己找到有关屏幕型号的信息, 下面开始吧 如下...

IDEA新建MavenWeb项目并通过Tomcat运行HelloWorld以及运行简单的Servlet类

IDEA新建MavenWeb项目并通过Tomcat运行HelloWorld以及运行简单的Servlet类 由于在IDEA中新建Maven项目配置web中遇到很多坑,目前在这边记录一下 一、运行环境: IntelliJ IDEA Version 2018.3.4 (IDEA2018)  、 JDK1.8 二、运行中所需安装包以及最终的项目 项目ZIP 链接...

将eclipse java程序打包成jar的总结(包括工程中没有引用外部jar包和有引用外部jar包两种情况)

一.当eclispe java工程中没有引用外部jar包时: 选中工程---->右键,Export...--->Java--->JAR file--->next-->填写jar file的路径及名称-->next-->next---> 填写main class--->finish,然后就在相应的目录下得...

Tomcat学习总结(10)——Tomcat多实例冗余部署

昨天在跟群友做技术交流的时候,了解到,有很多大公司都是采用了高可用的,分布式的,实例沉余1+台。但是在小公司的同学也很多,他们反映并不是所有公司都有那样的资源来供你调度。往往公司只会给你一台机器,因为有些应用挂了公司也不会有损失的,我们往往一台机器就可以搞定。 但是,我们也要为我们做出来的应用负责,毕竟东西做出来是为了给人用的,如果做出来的东西经常挂了,...

linux权限问题学习总结

寒假里看的权限问题,现在来总结一下。 文件权限除了r、w、x外还有s、t、i、a权限: 1、s:文件属主和组设置SUID和GUID,文件在被设置了s权限后将以root身份执行。在设置s权限时文件属主、属组必须先设置相应的x权限,否则s权限并不能正真生效(chmod命令不进行必要的完整性检查,即使不设置x权限就设置s权限,chmod也不会报错,当我们ls -...