Jenkins 参数

Posted 刘贤松handler

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Jenkins 参数相关的知识,希望对你有一定的参考价值。

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

2、方案二:安装Persistent Parameter Plugin,适用范围广,string、text、bool、choice也都适用。

或两个方案混合使用都可

方案一 、 安装Groovy Postbuild 插件。

Groovy Postbuild | Jenkins plugin

方案二 、安装Persistent Parameter Plugin插件。、

Jenkinsfile中通过parameters中的choice(下拉框)类型获取输入参数的方法,这篇文章将会继续介绍Jenkinsfile的parameters所支持的其他物种类型的使用方式。

parameter

使用限制:必须写在pipeline块中,只能存在一处parameter

参数类型 Jenkinsfile目前支持如下六种类型的参数,具体说明如下所示:

参数类型    参数说明

  • string    字符串类型参数
  • text       文本类型参数,与字符串的区别在于可以包含多行信息,用于传入较多信息输入
  • booleanParam    布尔类型参数
  • choice         类似下拉框或者支持多值的单选参数
  • file               指定构建过程中所需要的文件
  • password    考虑到安全的因素,需要通过参数方式传递的密码类型
pipeline 
  agent any

  parameters 
    choice(
      description: '你需要选择哪个模块进行构建 ?',
      name: 'modulename',
      choices: ['Module1', 'Module2', 'Module3']
    )
    
    string(
        description: '你需要在哪台机器上进行部署 ?',
        name: 'deploy_hostname', 
        defaultValue: 'host131', 
    )

    text(
        name: 'release_note', 
        defaultValue: 'Release Note 信息如下所示: \\n \\
Bug-Fixed: \\n \\
Feature-Added: ', 
        description: 'Release Note的详细信息是什么 ?'
    )

    booleanParam(
        name: 'test_skip_flag', 
        defaultValue: true, 
        description: '你需要在部署之前执行自动化测试么 ?'
    )


    password(
        name: 'deploy_password', 
        defaultValue: 'liumiaocn', 
        description: '部署机器连接时需要用到的密码信息是什么 '
    )

    file(
        name: "deploy_property_file", 
        description: "你需要输入的部署环境的设定文件是什么 ?"
    )
  

  stages 
        stage('Build')  
            steps  
                echo "Build stage: 选中的构建Module为 : $params.modulename ..." 
            
        
        stage('Test')
            steps 
                echo "Test stage: 是否执行自动化测试: $params.test_skip_flag ..."
            
        
        stage('Deploy') 
            steps 
                echo "Deploy stage: 部署机器的名称 : $params.deploy_hostname ..." 
                echo "Deploy stage: 部署连接的密码 : $params.deploy_password ..." 
                echo "Deploy stage: Release Note的信息为 : $params.release_note ..." 
            
        
    
  

参考

关于Jenkins中每次构建修改参数默认值的解决办法_尚小锋的博客-CSDN博客_jenkins 修改参数

Jenkins基础:Jenkinsfile使用实例:4:六种参数类型_淼叔的博客-CSDN博客_jenkins文本参数 

以上是关于Jenkins 参数的主要内容,如果未能解决你的问题,请参考以下文章

Jenkins安装

ansible+jenkins实现zabbix维护模式添加

适用于DevOps的10款最佳Jenkins插件

jenkins构建:参数化构建

jenkins 实现参数联动构建

jenkins参数化构建过程中的各个参数之间是没有关联的吗