一.简介

参数化pipeline是指通过传参来决定pipeline的行为。参数化让写pipeline就像写函数,而函数意味着可重用、更抽象。所以,通常使用参数化pipeline来实现一些通用pipeline。

在Jenkins pipeline中定义参数使用的是parameters指令,其只允许被放在pipeline块下

pipeline {
    agent any     parameters {
        booleanParam(defaultValue:true, description: '',name: 'userFlag')
    }     stages {
        stage("foo") {
            steps {
                echo "flag: ${params.userFlag}"
            }
        }
    }
}

booleanParam方法用于定义一个布尔类型的参数。接收三个参数

  • defaultValue 默认值
  • description 参数的描述信息
  • name 参数名

在定义pipeline参数后,使用被传入的参数会放到一个名为params的对象中,在pipeline中可直接使用。params.userFlag就是引用parameters指令中定义的userFlag参数

要手动执行一次,才可以实现这个,在启动项目后,可以进行值设置

二.类型

参数类型

string 字符串类型

parameters {
    string(name: 'DEPLOY_ENV', defaultValue: 'staging', description: '')
}

text 多行文本类型,换行使用\n

parameters {
    text(name: 'DEPLOY_TEXT', defaultValue: 'One\nTwo\nThree\n', description: '')
}

booleanParam 布尔类型

parameters {
    booleanParam(name:'DEBUG_BUILD', defaultValue:true, description:'')
}

choice,选择参数类型,使用\n来分隔多个选项

parameters {
    choice(name:'CHOICES', choices:'dev\ntest\nstaging', description:'请选择部署的环境' )
}

file,文件类型,用户可上传文件。但此类型存在bug,你无法拿到上传后的文件,所以不推荐使用。具体看官方issue: JENKINS-27413

password 密码类型

parameters {
    password(name:'PASSWORD', defaultValue:'SECRET', description: 'A secret password')
}

多参数

pipeline同时定义多个参数

parameters {
    booleanParam(name:'DEBUG_BUILD', defaultValue:true, description:'')
    string(name:'DEPLOY_ENV', defaultValue:'staging', description:'')
}

pipeline parameters指令的更多相关文章

  1. pipeline when指令

    目录 一.简介 二.选项 单独判断 条件组合 一.简介 when指令允许pipeline根据给定的条件,决定是否执行阶段内的步骤.when指令必须至少包含一个条件.when指令除了支持branch判断 ...

  2. pipeline option指令

    目录 一.简介 二.参数 buildDiscarder checkoutToSubdirectory disableConcurrentBuilds newContainerPerStage retr ...

  3. PARAMETERS 指令

    语法: PARAMETERS  <p>  [DEFAULT <f>] [LOWER CASE] [OBLIGATORY] [AS CHECKBOX] [RADIOBUTTON ...

  4. pipeline post指令

    目录 一.介绍 二.参数说明 三.使用实例 一.介绍 post步骤包含的是在整个pipeline或阶段完成后一些附加的步骤.post步骤是可选的,所以并不包含在声明式pipeline最简结构中,但这并 ...

  5. Jenkins pipeline:pipeline 使用之语法详解

    一.引言 Jenkins 2.0的到来,pipline进入了视野,jenkins2.0的核心特性. 也是最适合持续交付的feature. 简单的来说,就是把Jenkins1.0版本中,Project中 ...

  6. Jenkins pipeline:pipeline 语法详解

    jenkins  pipeline 总体介绍 pipeline 是一套运行于jenkins上的工作流框架,将原本独立运行于单个或者多个节点的任务连接起来,实现单个任务难以完成的复杂流程编排与可视化. ...

  7. [持续交付实践] pipeline使用:语法详解

    一.引言 jenkins pipeline语法的发展如此之快用日新月异来形容也不为过,而目前国内对jenkins pipeline关注的人还非常少,相关的文章更是稀少,唯一看到w3c有篇相关的估计是直 ...

  8. Jenkins pipeline 语法详解

    原文地址http://www.cnblogs.com/fengjian2016/p/8227532.html pipeline 是一套运行于jenkins上的工作流框架,将原本独立运行于单个或者多个节 ...

  9. 转~Jenkins pipeline:pipeline 使用之语法详解

    一.引言 Jenkins 2.0的到来,pipline进入了视野,jenkins2.0的核心特性. 也是最适合持续交付的feature. 简单的来说,就是把Jenkins1.0版本中,Project中 ...

随机推荐

  1. 「期末」一文带你系统回顾C 语言

    超详细 c 语言回顾 前言 c 语言是一种底层语言,是一种系统底层级的语言,例如Windows.Linux.Unix等操作系统就是使用c语言编写的.所以由此看来,不论是火爆了25年的Java,还是近年 ...

  2. 用户案例 | 腾讯小视频&转码平台云原生容器化之路

    作者 李汇波,腾讯业务运维高级工程师,目前就职于TEG 云架构平台部 技术运营与质量中心,现负责微信.QQ社交类业务的视频转码运维. 摘要 随着短视频兴起和快速发展,对于视频转码处理的需求也越来越多. ...

  3. [gym102268E]Expected Value

    令$X$为移动次数,答案即$\sum_{i=0}^{\infty}P(X>i)$,后者记作$S_{i}$ 关于$S_{i}$,令$f_{i,j}$表示走了$i$步后位于$j$且未到达过$k$的概 ...

  4. [ARC117F]Gateau

    假设序列$b_{i}$为最终第$i$片上的草莓数,即需要满足:$\forall 0\le i<2n,a_{i}\le \sum_{j=0}^{n-1}b_{(i+j)mod\ 2n}$ 要求最小 ...

  5. [noi713]魔法

    分治,维护一个dp数组,当递归到区间[l,r]时,需要保证这个dp数组维护的是除去[l,r]以外的dp数组维护其实很简单,就是递归左区间是先将右区间加入,然后再将左区间加入(要先复原)然后递归右区间即 ...

  6. 类的访问权限和Object

    1.访问控制权限 1.1.访问控制权限都有哪些? 4个. private 私有 public 公开 protected 受保护 默认 1.2.以上的4个访问控制权限:控制的范围是什么? private ...

  7. android测试之monkey测试

    1.首先安装SDK包 2.配置环境变量 3.打开CMD命令窗口,查看是否安装成功 命令:adb version 4.要做monkey测试的安卓包名,获取方式如下(必须启动要获取报名的app) 1.ad ...

  8. Go语言核心36讲(Go语言实战与应用十七)--学习笔记

    39 | bytes包与字节串操作(下) 在上一篇文章中,我们分享了bytes.Buffer中已读计数的大致功用,并围绕着这个问题做了解析,下面我们来进行相关的知识扩展. 知识扩展 问题 1:byte ...

  9. Linux——防火墙、SELinux规则

    一.Firewalld防火墙规则 防火墙的作用:放行或者阻拦某些服务.端口 1.防火墙的简单操作 # 1.查看防火墙状态 systemctl status firewalld # 2.关闭防火墙 sy ...

  10. 面渣逆袭:HashMap追魂二十三问

    大家好,我是老三. HashMap作为我们熟悉的一种集合,可以说是面试必考题.简单的使用,再到原理.数据结构,还可以延伸到并发,可以说,就一个HashMap,能聊半个小时. 1.能说一下HashMap ...