一、简介

在持续集成中,版本管理是非常重要的一部分,本章将介绍如何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. MySQL事务-ROLLBACK,COMMIT用法详解

    使用ROLLBACK 既然我们已经知道了什么是事务处理,下面讨论事务处理的管理中所涉及的问题. 管理事务处理的关键在于将SQL语句组分解为逻辑块,并明确规定数据何时应该回退,何时不应该回退. MySQ ...

  2. javascript 之作用域链-10

    前言 在<执行环境>文中说到,当JavaScript代码执行一段可执行代码时,会创建对应的执行上下文(execution context). 变量对象(Variable object,VO ...

  3. 微信小程序跳一跳辅助程序(手动版)

    最近,微信官方推出了demo小程序游戏<跳一跳>,这个游戏操作简单,容易上手,却又不容易获得高分,受到很多人的喜爱(emm...这游戏有毒).自己也尝试了玩了几次,作为一个手残+脑残的资深 ...

  4. Go执行远程ssh命令

    使用包:golang.org/x/crypto/ssh 以下封装一个发送命令的Cli结构体 type Cli struct { IP string //IP地址 Username string //用 ...

  5. vagrant快速搭建LNMP环境并且打包带走留着以后用

    不多说废话,全文文字,照着输就没问题 vagrant下载 可以到VirtualBox的官网进行下载:  https://www.virtualbox.org/wiki/Downloads vagran ...

  6. Tsung测试Tcp协议的应用或接口

    利用Tsung模拟基于Tcp的业务流程,实属无奈.因ConnectManager部署在linux下,其中,Loadrunner的winsocket因不支持linux platform而无法使用,而Jm ...

  7. 【转】Install libimobiledevice on Mac OSX

    About the App App name: libimobiledevice App description: Library to communicate with iOS devices na ...

  8. python 中文编码

    import sys sys.setdefaultencoding('utf-8') 保存为:sitecustomize.py 将文件放至: /Library/Frameworks/Python.fr ...

  9. for循环找出2到100的质数(素数)

    思路: 1,一个数只有1和它本身两个因数,这个数叫质数. 2.注意:缩进这里else是for循环这个上下文的. 代码: for num in range(2,100): #为大循环变量num提供2-1 ...

  10. 九九乘法表.py

    # -*-coding:utf-8-*- i = 1  # 先设定第一个变量 while i <= 9:  # 第一个循环开始    j = 1    while j <= i:  # 第 ...