jenkins插件之如何优雅的生成版本号
| 一、简介 |
在持续集成中,版本管理是非常重要的一部分,本章将介绍如何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插件之如何优雅的生成版本号的更多相关文章
- 【测试设计】使用jenkins 插件Allure生成漂亮的自动化测试报告
前言 以前做自动化测试的时候一直用的HTMLTestRunner来生成测试报告,后来也尝试过用Python的PyH模块自己构建测试报告,在后来看到了RobotFramework的测试报告,感觉之前用的 ...
- Jenkins持续部署-自动生成版本号
目录 Jenkins持续部署-自动生成版本号 目录 前言 目的 详细流程 获取SVN Reversion 获取需求号 设置编译前读取版本号 总结 参考文献 Jenkins持续部署-自动生成版本号 目录 ...
- 持续集成之Jenkins插件使用(一)- 多个job之间的串并联
转载自:http://qa.blog.163.com/blog/static/190147002201391661510655/ Jenkins除了开源和免费,还有一个最吸引人的功能之一就是支持插件. ...
- jenkins插件使用小结
jenkins官网:https://wiki.jenkins-ci.org/display/JENKINS/Building+a+software+project jenkins插件: 1.AnsiC ...
- 【我的Android进阶之旅】 Android Studio插件之Jenkins插件介绍
一Jenkins插件功能介绍 1Jenkins任务列表 2切换Jenkins分组 3构建Jenkins任务 4进入构建Jenkins任务的页面 5进入最后一次构建Jenkins任务的页面 6增加Jen ...
- 安装jenkins插件的两种方法
安装jenkins插件有两种方法,一种是在线安装,一种是离线安装.两种方式介绍如下: 1.如果服务器可以上网,那边选择在线安装最好不过了,安装流程为:系统管理----插件管理---选择需要的插件直接安 ...
- 如何通过 Freemark 优雅地生成那些花里胡哨的复杂样式 Excel 文件?
欢迎关注个人微信公众号: 小哈学Java, 文末分享阿里 P8 高级架构师吐血总结的 <Java 核心知识整理&面试.pdf>资源链接!! 个人网站: https://www.ex ...
- jenkins插件 查看job下次运行时间
文章来自:http://www.ciandcd.com 文中的代码来自可以从github下载: https://github.com/ciandcd jenkins插件next executions( ...
- Jenkins插件及 测试源码
Jenkins 插件: https://updates.jenkins-ci.org/download/plugins/ 小米的一份android源码,测试工具,用于抢红包: https://gith ...
随机推荐
- [js高手之路]原型式继承与寄生式继承
一.原型式继承本质其实就是个浅拷贝,以一个对象为模板复制出新的对象 function object( o ){ var G = function(){}; G.prototype = o; retur ...
- Mongodb常规操作【一】
Mongodb是一种比较常见的NOSQL数据库,数据库排名第四,今天介绍一下Net Core 下,常规操作. 首先下C# 版的驱动程序 "MongoDB.Driver",相关依赖包 ...
- Maven构建项目比较慢的解决办法
[前言] Intellij IDEA下Maven构建项目时,构建项目速度比较慢.需要等好久才能构建好一个项目,有时候一下午也还在提示进度. [问题描述] 使用Maven构建项目时: 设置好各种参数,然 ...
- 适合在Markdown里面使用的emoji
因为Markdown里面加颜色需要写html style, 所以对于一些标题, 还是用一下emoji吧: RED APPLE (
- UWP 手绘视频创作工具技术分享系列 - 全新的 UWP 来画视频
从2017年11月开始,我们开始规划和开发全新的来画Pro,在12月23日的短视频峰会上推出了预览版供参会者体验,得到了很高的评价和关注度.吸取反馈建议后,终于在2018年1月11日正式推出了全新版本 ...
- htm的常见布局
布局是CSS中一个重要部分,本文总结了CSS布局中的常用技巧,包括常用的水平居中.垂直居中方法,以及单列布局.多列布局的多种实现方式(包括传统的盒模型布局和比较新的flex布局实现),希望能给需要的小 ...
- Jeecg踩坑不完全指南
公司用了这个叫做jeecg的快速开发框架,我不知道有多少公司在用这个框架,园子里有的可以吱一声.个人觉得这框架唯一优势就是可以让不会ssh的人也能进行开发,只要你会J2SE,有web后台发开经验即可. ...
- [已解决]import pymssql ImportError: libsybdb.so.5
在python3.6的环境下安装pymssql安装包,运行程序时报错:import pymssql ImportError: libsybdb.so.5 在网上搜索了一大圈很多都是讲文件存在但是没有添 ...
- Java眼中的XML--------文件读取
XML 的初次邂逅 初次邂逅XML 如何进行XML文件解析前的准备工作 在Java程序中如何获取xml文件的内容 在Java程序中读取xml文件的过程也成为----解析xml文件 解析的目的:获取节 ...
- Machine Learning - week 1
Matrix 定义及基本运算 Transposing To "transpose" a matrix, swap the rows and columns. We put a &q ...