• Jenkins中构建参数默认值持久化解决方案


    1.Jenkins中构建参数默认值持久化解决方案

    1.1 方案一

    安装Groovy Postbuild插件,自己写代码,缺点是局限性比较大,适用于参数类型是string的,并不适用于boolchoice类型,因为这些类型的默认值被readonly修饰。(但此方案有一个优点,就是假如你需要用 Extended Choice Parameter Plug-In 这个多选参数插件,该方案可以修改其默认值);

    1.2 方案二

    安装Persistent Parameter Plugin,适用范围广,stringtextboolchoice也都适用。

    2.方案一实现

    2.1 安装插件

    安装Groovy Postbuild插件。

    2.2 写入代码

    import hudson.model.*
    manager.listener.logger.println("开始执行Groovy Postbuild")
    def paramsDef = manager.build.getParent().getProperty(ParametersDefinitionProperty.class)
    if (paramsDef) {
    	paramsDef.parameterDefinitions.each{ param ->
        manager.listener.logger.print("parameter ${param.name},orginal default value was ${param.defaultValue}.")
        try{
    		param.defaultValue = manager.build.buildVariableResolver.resolve(param.name).replace('"','')
    		manager.listener.logger.println("After ${param.name} has be Changed,new default value was ${param.defaultValue}")
    	}catch(Exception e){
    		manager.listener.logger.println("There is a Exception when Assign new value to default value of parameter ${param.name} ")
    		manager.listener.logger.println(e.getMessage())
    		manager.listener.logger.println(e.printStackTrace())		
    	}			
      }
    }
    

    3.方案二实现

    3.1 安装插件

    安装Persistent Parameter Plugin插件。

    3.2 配置参数

    参数化构件中,选择Persistent类型
    Jq0OY2

  • 相关阅读:
    laravel md5+salt 密码
    sql语句 当前时间查找重复 时间戳转换
    Supesite 参数说明
    ajax
    PDO操作
    laravel paginate动态分页
    PHP iconv()函数转字符编码的问题(转)
    计算几何基础模板(2014.10.6一直沿用)
    hdu 4893
    2014 ACM/ICPC 鞍山赛区网络赛(清华命题)
  • 原文地址:https://www.cnblogs.com/cgqplus/p/15267312.html
Copyright © 2020-2023  润新知