pipeline when指令
一.简介
when指令允许pipeline根据给定的条件,决定是否执行阶段内的步骤。when指令必须至少包含一个条件。when指令除了支持branch判断条件,还支持多种判断条件。
如下使用
        stage('Example Deploy') {
            when {
                branch 'production'
            }
            steps {
                echo 'Deploying'
            }
        }
二.选项
单独判断
changelog :如果版本控制库的changelog符合正则表达式,则执行
when {
    changelog '.*^\\[DEPENDENCY\\] .+$'
}
changeset :如果版本控制库的变更集合中包含一个或多个文件符合给定的Ant风格路径表达式,则执行
when {
    changeset "**/*.js"
}
environment :如果环境变量的值与给定的值相同,则执行
when {
    environment name: 'DEPLOY_TO', value: 'production'
}
equals :如果期望值与给定的值相同,则执行
when {
    equals expected: 2, actual: currentBuild.number
}
expression :如果Groovy表达式返回的是true,则执行。当表达式返回的是字符串时,它必须转换成布尔类型或null ;否则,所有的字符串都被当作true处理。
when {
    expression {
        return env.BRANCH_NAME != 'master';
    }
}
buildingTag :如果pipeline所执行的代码被打了tag,则执行
when {
    buildingTag()
}
tag:如果pipeline所执行的代码被打了tag,且tag名称符合规则,则执行。如果tag的参数为空,即tag ( ),则表示不论tag名称是什么都执行,与buildingTag的效果相同。
when {
    tag "release-*"
}
tag条件支持comparator参数,支持的值如下。
EQUALS:简单的文本比较
when {
    tag pattern "release-3.1", comparator: "EQUALS"
}
GLOB(默认值) :Ant风格路径表达式。由于是默认值,所以使用时一般省略。
when {
    tag pattern "release-*", comparator: "GLOB"
}
REGEXP∶正则表达式
when {
    tag pattern "release-\\d+", comparator: "REGEXP"
}
条件组合
以上介绍的都是单条件判断,when指令还可以进行多条件组合判断。
allOf :所有条件都必须符合。下例表示当分支为master且环境变量DEPLOY_TO的值为production时,才符合条件。注意,多条件之间使用分号分隔。
when {
    anyof {
        branch 'master';
        environment name: 'DEPLOY_TO', value: 'production'
    }
}
anyOf:其中一个条件为true,就符合。下例表示master分支或staging分支都符合条件。
when {
    anyof {
        branch 'master';
        branch 'staging'
    }
}
												
											pipeline when指令的更多相关文章
- pipeline parameters指令
		
目录 一.简介 二.类型 参数类型 多参数 一.简介 参数化pipeline是指通过传参来决定pipeline的行为.参数化让写pipeline就像写函数,而函数意味着可重用.更抽象.所以,通常使用参 ...
 - pipeline option指令
		
目录 一.简介 二.参数 buildDiscarder checkoutToSubdirectory disableConcurrentBuilds newContainerPerStage retr ...
 - pipeline post指令
		
目录 一.介绍 二.参数说明 三.使用实例 一.介绍 post步骤包含的是在整个pipeline或阶段完成后一些附加的步骤.post步骤是可选的,所以并不包含在声明式pipeline最简结构中,但这并 ...
 - Docker的Jenkins Pipeline工作流
		
原文地址:http://www.youruncloud.com/blog/127.html 分享主题 一个软件产品的开发周期中,尤其是敏捷开发,持续集成和持续部署是必不可少的环节,而随着产品的丰富,模 ...
 - Pipeline 有什么好处,为什么要用 pipeline?
		
答:可以将多次 IO 往返的时间缩减为一次,前提是 pipeline 执行的指令之间没有 因果相关性.使用 redis-benchmark 进行压测的时候可以发现影响 redis 的 QPS 峰值的一 ...
 - 面试中程序员常见的Redis"刁难"问题,值得一读!
		
导读 在程序员面试过程中Redis相关的知识是常被问到的话题.作为一名在互联网技术行业打击过成百上千名的资深技术面试官,总结了面试过程中经常问到的问题.十分值得一读. Redis有哪些数据结构? 字符 ...
 - Redis考察点解析
		
目录 1. Redis数据结构 1. 常用数据结构 2. 高级数据结构 2. Redis分布式锁 1. Redis分布式锁原理 2. 如果在setnx之后执行expire之前进程意外crash或者要重 ...
 - Redis面试刁难大全
		
转自:https://mp.weixin.qq.com/s?__biz=MzI0MzQyMTYzOQ==&mid=2247483686&idx=1&sn=18dfa0fd08b ...
 - Redis缓存相关问题总结
		
使用缓存是系统性能优化的第一黄金法则. 缓存的设计和使用对一个系统的性能至关重要,平时接触到项目无论多少也都会在某些层面用到缓存,比如用HashMap实现,Ehcache,memcached.redi ...
 
随机推荐
- .net工程师学习vue的心路历程(一)
			
实习一年后,想做一个属于自己的博客网站,准备用core api去搭建服务端接口,前端准备采用vue这样的一个框架.本身时一个服务端程序员,所以来学习记录一些vue的知识点,有什么不足的希望大家指正,谢 ...
 - PHP绕过MD5比较的各种姿势
			
1.用==进行弱类型比较时, 可以通过两个0e开头后面纯数字的md5绕过 php在进行弱类型比较时,如果为字符串为纯数字,包括浮点数.科学计数法.十六进制数等,都会转化为数字类型再进行比较,利用这点, ...
 - 17 款程序员必备 Chrome扩展插件,爱了爱了!
			
整理:小哈学Java 目录 美化 Just Black 午夜黑官方主题 Dark Reader 暗黑主题 为什么你们就是不能加个空格呢? 标签管理 Momentum [新标签页] Tab Manage ...
 - JavaSE复习巩固
			
第二天:复习if语句,扫描器,switch语句,循环语句 1.if语句---流程控制语句 if之前学的语句是顺序结构 1.1 单个if的语法结构 if(条件判断){ 满足条件需要做的事情: } int ...
 - Apache发布支持Java EE微服务的Meecrowave服务器
			
Apache OpenWebBeans团队希望通过使服务器适应用户来消除复杂性.所以,该团队发布了Apache Meecrowave项目1.0版. Apache Meecrowave是一款小型服务器, ...
 - 【R】write.table输出数据带有行名?
			
目录 问题 解决一 解决二 问题 这个问题应该很常见吧.R中输出数据框时,想要把行名和列名都输出.如果直接输出的话,输出的结果列名会往前移动一位,这显然不是我们想要的. 直接上例子: > a = ...
 - Linux终端命令行的快捷键列表
			
tab键:命令.文件名等自动补全功能. Ctrl+a:光标回到命令行首.Ctrl+e:光标回到命令行尾.Ctrl+k:删除光标处到行尾的字符.Ctrl+u:删除整个命令行文本字符.ctrl+y: 粘贴 ...
 - C++常用的字符串处理函数-全
			
这是自己用stl实现的一些字符串处理函数和常用的字符串处理技巧,经验正基本无误,可直接使用,若有问题,可相应列出 包括:split string to int int to string join # ...
 - Excel-电话号码隐藏某几个数为*,起到保护信息作用;
			
9.电话号码隐藏某几个数为*,起到保护信息作用: 方法一: =SUBSTITUTE(AG2,MID(AG2,4,5),"*****") 解释函数: MID(目标字符串,裁剪起始位置 ...
 - 43-Reverse Nodes in k-Group
			
Reverse Nodes in k-Group My Submissions QuestionEditorial Solution Total Accepted: 58690 Total Submi ...