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 ...
随机推荐
- ASP.NET Core学习之一 入门简介
一.入门简介 在学习之前,要先了解ASP.NET Core是什么?为什么?很多人学习新技术功利心很重,恨不得立马就学会了. 其实,那样做很不好,马马虎虎,联系过程中又花费非常多的时间去解决所遇到的“问 ...
- 简单搭建ES6的环境
一.兼容情况 说到ECMAScript6,顺便提一下ECMAScript5,先看一下ES5的兼容情况.ES5浏览器支持情况: Opera 11.60:Internet Explorer 9*:Fire ...
- Ant Design Pro 学习三 新建组件
在 src/components 下新建一个以组件名命名的文件夹,注意首字母大写 在使用组件时,默认会在 index.js 中寻找 export 的对象,如果你的组件比较复杂,可以分为多个文件,最后在 ...
- iOS自带API集成二维码、条形码扫描
源码于 :https://github.com/wangjinfeng/ScanForiOSAPI/tree/main 1.AVFoundation.framework,QuartzCore.fram ...
- java基础,集合,HashMap,源码解析
最怕,你以为你懂咯,其实你还不懂: 见贤思齐,看看那些我们习以为常的集合,通过相关定义.源码,思考分析,加深对其的理解,提高编码能力,能做一个略懂的程序员: 做几个我们常用的集合类.开篇HashMap ...
- HTML知识点总结之<a>标签
HTML是什么? HTML(Hyper Text Markup Language)超文本标记语言,用来描述网页的一种语言.超文本是指网页不止有文本,还可以有图片,链接,视频,音频等非文本元素.标记语言 ...
- Android语音识别--->>RecongnizerIntent实现
首先,咱得先说下注意点: Android中主要通过RecognizerIntent来实现语音识别,其实代码比较简单,但是如果找不到设置,就会抛出异常 ActivityNotFoundException ...
- [转]正则匹配时对象必须为string or bytes-like object
逛segmentfault时碰到这个问题,发现早就在stackoverflow上被解决了. 报错:Expected string or bytes-like object 只需将传递的对象转成字符串就 ...
- Memory Map
计算机最重要的功能单元之一是Memory.Memory是众多存储单元的集合,为了使CPU准确地找到存储有某个信息的存储单元,必须为这些单元分配一个相互区别的“身份证号”,这个“身份证号”就是地址编码. ...
- fastboot模式
快速启动. 在安卓手机中fastboot是一种比recovery更底层的刷机模式. fastboot是一种线刷,就是使用USB数据线连接手机的一种刷机模式. recovery是一种卡刷,就是将刷机包放 ...