pipeline option指令
一.简介
option指令用于配置整个jenkins pipeline本身的选项,根据具体的选项不同,可以将其放在pipeline块或者stage块中。
options 指令允许从流水线内部配置特定于流水线的选项。 流水线提供了许多这样的选项, 比如 buildDiscarder,但也可以由插件提供, 比如 timestamps.
二.参数
buildDiscarder
作用域:只能在pipline块使用
buildDiscardr 保存最近历史构建记录的数量。当pipeline执行完成后,会在硬盘上保存记录,发布的内容和构建执行日志,如果长时间不清理会占用大量空间,设置此选项后会保存配置的数量。
简单例子:
pipeline {
agent any
options {
buildDiscarder(logRotator(numToKeepStr: '3'))
}
stages {
stage('test-a') {
steps {
echo 'test'
}
}
}
}
发布本次之前有17次的历史记录,本次虽然代码简短,但经过几秒才发布成功。那是因为在删除其它的历史记录,最后只会保留3次。

checkoutToSubdirectory
作用域:pipline块
注意:因实验版本不支持此指令,稍后进行测试
Jenkins从版本控制库拉取源码时,默认下载到当前job的根目录下,例如job名叫test-pipeline,则后续代码下载到/var/lib/jenkins/workspace/test-pipeline/xx项目
配置后则为/var/lib/jenkins/workspace/test-pipeline/foo/xx项目
options {
checkoutToSubdirectory('foo')
}
disableConcurrentBuilds
作用域:pipeline块
同一个pipeline,Jenkins默认可以同时点击多次,并发执行。这样会消耗资源,并造成发布失败等问题。

配置并发锁定,可以在同时只允许一个执行,在和代码仓库进行联动的时候容易遇到,同时分支进行多次提交。
options {
disableConcurrentBuilds()
}
options { disableConcurrentBuilds() }

newContainerPerStage
作用域:pipeline块
注意:暂未实验
当agent为docker或dockerfile时,指定在同一个Jenkins节点上,每个stage都分别运行在一个新的容器中,而不是所有stage都运行在同一个容器中。
options {
newContainerPerStage()
}
retry
作用域:pipeline块或者stage块
当发生失败时进行重试,可以指定整个pipeline的重试次数。需要注意的是,这个次数是指总次数,包括第一次失败。
options {
retry(3)
}
timeout
作用域:stage块
如果pipeline执行时间过长,超出设置的timeout时间,Jenkins将中止pipeline。
以下例子中以小时为单位,还可以把SECONDS(秒),MINUTES(分钟)为单位。
options {
timeout(time: 1, unit: 'HOURS')
}
skipDefaultCheckout
作用域:stage块
在agent指令中,跳过从源代码控制中检出代码的默认情况。
options {
skipDefaultCheckout()
}
skipStagesAfterUnstable
作用域:stage块
一旦构建状态变得UNSTABLE,就跳过该阶段。
options {
skipStagesAfterUnstable()
}
timestamps
作用域:stage块或者steps块
注意:需要安装Timestamper插件
在stage块声明,每个步骤执行完,日志里都会打印执行时间。
options {
timestamps()
}
在steps块执行,包含内的每个步骤执行完,日志里都会打印执行时间。
timestamps {
echo '这是第一个被执行的 stage.'
}
pipeline option指令的更多相关文章
- pipeline when指令
目录 一.简介 二.选项 单独判断 条件组合 一.简介 when指令允许pipeline根据给定的条件,决定是否执行阶段内的步骤.when指令必须至少包含一个条件.when指令除了支持branch判断 ...
- pipeline parameters指令
目录 一.简介 二.类型 参数类型 多参数 一.简介 参数化pipeline是指通过传参来决定pipeline的行为.参数化让写pipeline就像写函数,而函数意味着可重用.更抽象.所以,通常使用参 ...
- pipeline post指令
目录 一.介绍 二.参数说明 三.使用实例 一.介绍 post步骤包含的是在整个pipeline或阶段完成后一些附加的步骤.post步骤是可选的,所以并不包含在声明式pipeline最简结构中,但这并 ...
- Docker的Jenkins Pipeline工作流
原文地址:http://www.youruncloud.com/blog/127.html 分享主题 一个软件产品的开发周期中,尤其是敏捷开发,持续集成和持续部署是必不可少的环节,而随着产品的丰富,模 ...
- Pipeline 有什么好处,为什么要用 pipeline?
答:可以将多次 IO 往返的时间缩减为一次,前提是 pipeline 执行的指令之间没有 因果相关性.使用 redis-benchmark 进行压测的时候可以发现影响 redis 的 QPS 峰值的一 ...
- 前端学HTTP之内容协商
前面的话 一个URL常常需要代表若干不同的资源.例如那种需要以多种语言提供其内容的网站站点.如果某个站点有说法语的和说英语的两种用户,它可能想用这两种语言提供网站站点信息.理想情况下,服务器应当向英语 ...
- haproxy的丰富特性简介
*/ .hljs { display: block; overflow-x: auto; padding: 0.5em; color: #333; background: #f8f8f8; } .hl ...
- 面试中程序员常见的Redis"刁难"问题,值得一读!
导读 在程序员面试过程中Redis相关的知识是常被问到的话题.作为一名在互联网技术行业打击过成百上千名的资深技术面试官,总结了面试过程中经常问到的问题.十分值得一读. Redis有哪些数据结构? 字符 ...
- Redis考察点解析
目录 1. Redis数据结构 1. 常用数据结构 2. 高级数据结构 2. Redis分布式锁 1. Redis分布式锁原理 2. 如果在setnx之后执行expire之前进程意外crash或者要重 ...
随机推荐
- Python 爬取 拉钩
... from urllib import request from urllib import parse from urllib.error import URLError import jso ...
- 分布式配置系统Apollo如何实时更新配置的?
引言 记得我们那时候刚开始学习Java的时候都只是一个单体项目,项目里面的配置基本都是写在项目里面的properties文件中,比如数据库配置啥的,各种逻辑开关,一旦这些配置修改了,还需要重启项目这修 ...
- SpringCloud升级之路2020.0.x版-44.避免链路信息丢失做的设计(1)
本系列代码地址:https://github.com/JoJoTec/spring-cloud-parent 我们在这一节首先分析下 Spring Cloud Gateway 一些其他可能丢失链路信息 ...
- BehaviorTree.CPP行为树BT的介绍(一)
节点类型 ControlNode是可以具有1到N个子节点的节点.一旦接收到tick,tick可以传播到一个或多个子节点. DecoratorNodes与ControlNode相似,但只能有一个子节点. ...
- 第41篇-JNIEnv与JavaVM的初始化
JavaVM和JNIEnv的初始化和JVM各模块的初始化都是在JNI_CreateJavaVM()函数中完成.这一篇将详细介绍JavaVM和JNIEnv的初始化过程. 1.初始化JavaVM Java ...
- UOJ #76 -【UR #6】懒癌(思维题)
UOJ 题面传送门 神仙题. orz czx,czxyyds 首先没有懒癌的狗肯定不会被枪毙,证明显然. 接下来考虑怎样计算一种局面的答案,假设 \(dp_S\) 表示对于有且仅有 \(S\) 中的狗 ...
- 洛谷 P5206 - [WC2019]数树(集合反演+NTT)
洛谷题面传送门 神仙多项式+组合数学题,不过还是被我自己想出来了( 首先对于两棵树 \(E_1,E_2\) 而言,为它们填上 \(1\sim y\) 使其合法的方案数显然是 \(y\) 的 \(E_1 ...
- DirectX12 3D 游戏开发与实战第八章内容(上)
8.光照 学习目标 对光照和材质的交互有基本的了解 了解局部光照和全局光照的区别 探究如何用数学来描述位于物体表面上某一点的"朝向",以此来确定入射光照射到表面的角度 学习如何正确 ...
- pcm-pcie 解析
简介 pcm 全称为 Performance Counter Monitor,该项目是针对 intel 平台处理器的资源利用率进行监控的工具.在现代 Intel 处理器已经提供了监视处理器内部性能事件 ...
- R数据科学-3
R数据科学(R for Data Science) Part 3:编程 转换--可视化--模型 --------------第13章 使用magrittr进行管道操作----------------- ...