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

  • 相关阅读:
    今天冷兔上线.
    tweenlite
    AS3中对String操作的replaceAll方法
    咫尺天涯的幸福
    ESPCMS系统模板结构图
    [转]AIR中调用exe或者bat可执行文件
    摘自《做人还是现实些》
    framespacing="10"和border="10"在frameSet中有什么区别?
    一个简单的div与span例子
    理解Javascript_05_原型继承原理 ,转载文章
  • 原文地址:https://www.cnblogs.com/wdliu/p/8312735.html
Copyright © 2011-2022 走看看