一、简介

在持续集成中,版本管理是非常重要的一部分,本章将介绍如何Version Number Plug插件生成优雅的版本号。

二、安装

系统管理--》插件管理

搜索 Version Number--》直接安装

三、构建中使用

一、配置

找到项目--》配置--》构建环境

变量说明:

BUILD_VERSION:变量名

${JOB_name}:项目名称

${BUILD_DATE_FORMATTED, "yyyyMMdd"}:格式化后的日期

${BUILDS_TODAY}:今天构建的数量

二、使用

这里为了方便我们直接调用shell看效果

echo ${BUILD_VERSION} 

编译生成的版本号为:

yk-jifen-test_20180118.2
四、详细使用

版本号格式字符串

处理版本号格式字符串以创建存储在命名的环境变量中的版本号。版本号格式字符串中的每个字符都被传递到最终版本号,除了$ {}中包含的变量外。例如,版本格式字符串1.0。$ {BUILDS_THIS_YEAR},如果这是该日历年的第10个版本,则将返回1.0.10。

以下是在版本号格式字符串中使用的有效变量:

   

名称

功能

BUILD_DATE_FORMATTED

获取第二个参数,并为给定的构建日期返回一个java格式的日期字符串。例如,$ {BUILD_DATE_FORMATTED,“yyyy-MM-dd”}会返回日期(而不是时间),如2009-10-01。日期格式字符串必须用引号括起来,格式字符串中的任何空格都是重要的。

BUILD_DAY

没有参数,它只是返回构建的一天作为一个整数。如果有一个参数,它需要参数中的字符数,并使用填充日期字符串。例如,如果是本月的第三天,$ {BUILD_DAY}将返回3,$ {BUILD_DAY,X}将返回3,$ {BUILD_DAY,XX}将返回03。

BUILD_WEEK

返回BUILD_DAY的相同参数约定

BUILD_MONTH

返回月份,使用与BUILD_DAY相同的参数约定

BUILD_YEAR

返回BUILD_DAY的相同参数约定

BUILDS_TODAY

返回今天发生的构建的数量,包括这个。这在午夜重置。参数约定与BUILD_DAY相同

BUILDS_THIS_WEEK

返回本周发生的构建数量,包括这一个。这在一周的开始重置。参数约定与BUILD_DAY相同

BUILDS_THIS_MONTH

返回本月发生的构建数量,包括这一个。这在本月的第一个月重置。参数约定与BUILD_DAY相同

BUILDS_THIS_YEAR

返回今年发生的构建数量。这在今年的第一个重置。参数约定与BUILD_DAY相同。

BUILDS_ALL_TIME

返回自项目开始以来发生的构建数量。这与hudson内部版本号不同,因为它可以定期重置(例如,从1.0。$ {BUILDS_ALL_TIME}移到2.0。$ {BUILDS_ALL_TIME},并且可以配置为以任意数字开始而不是标准开始日期。

MONTHS_SINCE_PROJECT_START

自项目开始日期以来的月数。这严格依赖于当前版本的月份和项目开始日期的月份; 如果项目在10月31日开始,并且构建在11月1日,那么这将返回1.如果项目从10月1日开始,并且构建在11月30日,这也将返回1.参数约定与BUILD_DAY相同。

YEARS_SINCE_PROJECT_START

项目开始日期以来的年数。像MONTHS_SINCE_PROJECT_START一样,这仅取决于年份;

其他

在$ {}中包含的任何其他参数被替换为具有相同名称的环境变量(如果有的话),或者失败,则被忽略。例如,这可以用来集成源代码控制版本号。

更多参考:https://wiki.jenkins.io/display/JENKINS/Version+Number+Plugin

jenkins插件之如何优雅的生成版本号的更多相关文章

  1. 【测试设计】使用jenkins 插件Allure生成漂亮的自动化测试报告

    前言 以前做自动化测试的时候一直用的HTMLTestRunner来生成测试报告,后来也尝试过用Python的PyH模块自己构建测试报告,在后来看到了RobotFramework的测试报告,感觉之前用的 ...

  2. Jenkins持续部署-自动生成版本号

    目录 Jenkins持续部署-自动生成版本号 目录 前言 目的 详细流程 获取SVN Reversion 获取需求号 设置编译前读取版本号 总结 参考文献 Jenkins持续部署-自动生成版本号 目录 ...

  3. 持续集成之Jenkins插件使用(一)- 多个job之间的串并联

    转载自:http://qa.blog.163.com/blog/static/190147002201391661510655/ Jenkins除了开源和免费,还有一个最吸引人的功能之一就是支持插件. ...

  4. jenkins插件使用小结

    jenkins官网:https://wiki.jenkins-ci.org/display/JENKINS/Building+a+software+project jenkins插件: 1.AnsiC ...

  5. 【我的Android进阶之旅】 Android Studio插件之Jenkins插件介绍

    一Jenkins插件功能介绍 1Jenkins任务列表 2切换Jenkins分组 3构建Jenkins任务 4进入构建Jenkins任务的页面 5进入最后一次构建Jenkins任务的页面 6增加Jen ...

  6. 安装jenkins插件的两种方法

    安装jenkins插件有两种方法,一种是在线安装,一种是离线安装.两种方式介绍如下: 1.如果服务器可以上网,那边选择在线安装最好不过了,安装流程为:系统管理----插件管理---选择需要的插件直接安 ...

  7. 如何通过 Freemark 优雅地生成那些花里胡哨的复杂样式 Excel 文件?

    欢迎关注个人微信公众号: 小哈学Java, 文末分享阿里 P8 高级架构师吐血总结的 <Java 核心知识整理&面试.pdf>资源链接!! 个人网站: https://www.ex ...

  8. jenkins插件 查看job下次运行时间

    文章来自:http://www.ciandcd.com 文中的代码来自可以从github下载: https://github.com/ciandcd jenkins插件next executions( ...

  9. Jenkins插件及 测试源码

    Jenkins 插件: https://updates.jenkins-ci.org/download/plugins/ 小米的一份android源码,测试工具,用于抢红包: https://gith ...

随机推荐

  1. Head First设计模式之迭代器模式

    一.定义 提供一种方法顺序访问一个聚合对象中各个元素, 而又无须暴露该对象的内部表示: 主要解决:不同的方式来遍历整个整合对象. 何时使用:遍历一个聚合对象. 如何解决:把在元素之间游走的责任交给迭代 ...

  2. springboot mybatis 事务管理

    本文主要讲述springboot提供的声明式的事务管理机制. 一.一些概念 声明式的事务管理是基于AOP的,在springboot中可以通过@Transactional注解的方式获得支持,这种方式的优 ...

  3. 解决ios微信页面回退不刷新的问题

    在回退后需要刷新的页面加以下js $(function () {   var isPageHide = false;   window.addEventListener('pageshow', fun ...

  4. webstorm方向键与电脑快捷键冲突

    1.桌面上,单击鼠标右键,选择"图形属性" 2.单击"选项和支持" 3.在图示框框中,修改电脑上的快捷键  

  5. Geohash-》基本使用

    我把类文件放到了以上这个路径,在要使用的文件引入使用. 以下是测试代码, 1.先实例化类 2.再调用函数 3.这个函数返回GeoHash编码

  6. python爬虫知识点三--解析豆瓣top250数据

    一.利用cookie访问import requests headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKi ...

  7. FFmpeg AVCodec

    FFmpeg编解码 FFmpeg支持绝大多数视频编解码格式,如何遍历FFmpeg编解码器? 编解码器以链表形式存储,使用av_codec_next() 函数可以获取编解码器指针,当参数为NULL时,获 ...

  8. go语言 前言

    1什么是Go? Go是一门开源.并发支持.具有垃圾回收机制.编译性系统编程语言.在静态编译语言的高性能和动态语言的高效开发之间拥有良好平衡点.被称为21世纪的C语言.Go语言已经成为云计算.云存储时代 ...

  9. SQL Server-聚焦什么时候用OPTION(COMPILE)呢?

    前言 上一篇我们探讨了在静态语句中使用WHERE Column = @Param OR @Param IS NULL的问题,有对OPTION(COMPILE)的评论,那这节我们来探讨OPTION(CO ...

  10. burpsuite截断上传webshell

    1.先设置好代理127.0.0.1 8080 2.开启截断模式 3.上传文件会被burp截断 4.在hex下找到你上传的webshell的16进制编码 5.把.后面的源码改为00 点击forward上 ...