zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    Eclipse集成Tomcat:6个常见的”how to”问题
    linux环境变量配置
    (原创)JS点击事件——Uncaught TypeError: Cannot set property 'onclick' of null
    [ JS 进阶 ] 闭包,作用域链,垃圾回收,内存泄露
    webstorm安装后的一些设置技巧:
    前端工程师的知识体系
    Git常用命令及软件推荐
    Vue.js双向绑定的实现原理
    GET和POST面试知识点
    CSS 巧用 :before和:after
  • 原文地址:https://www.cnblogs.com/cangqinglang/p/11190603.html
Copyright © 2011-2022 走看看