工作中用 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)的更多相关文章

  1. 规范git commit提交记录和版本发布记录

    在开发过程中我们一般都会用到git管理代码,在git commit提交代码时我们一般对git commit message随便写点简单的描述,可是随着项目参与人数的增多,发现提交的commit记录越来 ...

  2. Jenkins获取git tags代码

    配置Jenkins获取git tag代码的方式其实方法很多,目前我使用比较多的主要是通过Git Parameter 来配置动态的获取最新tags代码,主要我们首先需要安装一下Git Parameter ...

  3. jenkins获取git上的源码

    jenkins获取git上的源码会遇到三种情况,我们在这里会分别介绍一下: 一.获取git上public(公有)的项目 只需配置仓库的URL即可 jenkins下使用git获取源码的配置方法 二.获取 ...

  4. git 跟踪提交记录

    一.克隆git仓库 git clone ssh://hwl@xxx/home/data/repositories/git.git 二.申明使用人信息,以便跟踪提交记录 $ git config --g ...

  5. git 查看提交记录

    查看提交的内容 -p 选项,同时在 - 后加数字限制一下数目 git log -p -2. commit 500eeadd71a21f1166803e12a792bfa86f4ca784 (HEAD ...

  6. GitStats - 统计Git所有提交记录工具

    如果你是研发效能组的一员或者在从事 CI/CD 或 DevOps,除了提供基础设施,指标和数据是也是一个很重要的一环,比如需要分析下某个 Git 仓库代码提交情况: 该仓库的代码谁提交的代码最多 该仓 ...

  7. Git 删除提交记录

    .Checkout git checkout --orphan latest_branch 2. Add all the files git add -A 3. Commit the changes ...

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

    原文:https://www.jianshu.com/p/513ab6915dbd 在基于Jenkins进行CI持续集成的工作,在构建后上传蒲公英时想将本次版本的git commit信息同步到蒲公英的 ...

  9. Jenkins进阶-获取git tags代码(2)

    配置Jenkins获取git tag代码的方式其实方法很多,目前我使用比较多的主要是通过Git Parameter 来配置动态的获取最新tags代码,主要我们首先需要安装一下Git Parameter ...

随机推荐

  1. Go 编译 && 工具

    编译和工具链 Go 的工具链非常丰富,从获取源码.编译.文档.测试.性能分析,到源码格式化.源码提示.重构工具等应有尽有 在 Go 中可以使用测试框架编写单元测试,使用统一的命令行即可测试及输出测试报 ...

  2. JavaScript Array vs new Array区别

    规范说明 When Array is called as a function rather than as a constructor, it creates and initialises a n ...

  3. linux配置sftp简单过程

    首先疑惑是,  他需要的是上级的目录权限必须为root, 这点我有点不明白 环境是centos7.6 ssh 首先开整/etc/ssh/sshd_config # override default o ...

  4. github发布版本

    github发布版本后再pacakgist能拉取到需要发布版本 本地 mac@macdeMacBook-Pro:/www/tool$ git add . mac@macdeMacBook-Pro:/w ...

  5. awk 概述及常用方法总结

    awk 简介 awk是一个文本处理工具,通常用于处理数据并生成结果报告, awk的命名是它的创始人 Alfred Aho.Peter Weinberger和Brian Kernighan 姓氏的首个字 ...

  6. JavaScript中对数组的排序

    将下列对象数组,通过工资属性,由高到低排序 var BaiduUsers = [], WechatUsers = []; var User = function(id, name, phone, ge ...

  7. Herbert Schildt

    赫伯特·希尔特; Herbert Schildt,是世界顶级程序设计大师,全球顶尖编程图书作者之一. www.HerbSchildt.com 1.c/c++的核心设计原理之一就是程序员的控制,java ...

  8. vue mint ui 手册文档

    npm 安装 推荐使用 npm 的方式安装,它能更好地和 webpack 打包工具配合使用. npm i mint-ui -S CDN 目前可以通过 unpkg.com/mint-ui 获取到最新版本 ...

  9. SQL SERVER表变量和临时表

    一.表变量 表变量在SQL Server 2000中首次被引入.表变量的具体定义包括列定义,列名,数据类型和约束.而在表变量中可以使用的约束包括主键约束,唯一约束,NULL约束和CHECK约束(外键约 ...

  10. Spring Cloud Eureka 注册中心高可用机制

    一.Eureka 正常工作流程 Service 服务作为 Eureka Client 客户端需要在启动的时候就要向 Eureka Server 注册中心进行注册,并获取最新的服务列表数据. Eurek ...