一.简介

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指令的更多相关文章

  1. pipeline when指令

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

  2. pipeline parameters指令

    目录 一.简介 二.类型 参数类型 多参数 一.简介 参数化pipeline是指通过传参来决定pipeline的行为.参数化让写pipeline就像写函数,而函数意味着可重用.更抽象.所以,通常使用参 ...

  3. pipeline post指令

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

  4. Docker的Jenkins Pipeline工作流

    原文地址:http://www.youruncloud.com/blog/127.html 分享主题 一个软件产品的开发周期中,尤其是敏捷开发,持续集成和持续部署是必不可少的环节,而随着产品的丰富,模 ...

  5. Pipeline 有什么好处,为什么要用 pipeline?

    答:可以将多次 IO 往返的时间缩减为一次,前提是 pipeline 执行的指令之间没有 因果相关性.使用 redis-benchmark 进行压测的时候可以发现影响 redis 的 QPS 峰值的一 ...

  6. 前端学HTTP之内容协商

    前面的话 一个URL常常需要代表若干不同的资源.例如那种需要以多种语言提供其内容的网站站点.如果某个站点有说法语的和说英语的两种用户,它可能想用这两种语言提供网站站点信息.理想情况下,服务器应当向英语 ...

  7. haproxy的丰富特性简介

    */ .hljs { display: block; overflow-x: auto; padding: 0.5em; color: #333; background: #f8f8f8; } .hl ...

  8. 面试中程序员常见的Redis"刁难"问题,值得一读!

    导读 在程序员面试过程中Redis相关的知识是常被问到的话题.作为一名在互联网技术行业打击过成百上千名的资深技术面试官,总结了面试过程中经常问到的问题.十分值得一读. Redis有哪些数据结构? 字符 ...

  9. Redis考察点解析

    目录 1. Redis数据结构 1. 常用数据结构 2. 高级数据结构 2. Redis分布式锁 1. Redis分布式锁原理 2. 如果在setnx之后执行expire之前进程意外crash或者要重 ...

随机推荐

  1. pg_probackup

    [1] https://postgrespro.com/docs/enterprise/13/app-pgprobackup PITR依赖continuous WAL archiving: Makin ...

  2. [loj6118]鬼牌

    枚举最终所有牌的大小$i$,对于最终所有牌大小都为$i$的情况,令其贡献为步数,否则令其贡献为0,记$F$为期望贡献(即所有情况概率*贡献之和),答案即为$\sum_{i=1}^{m}F$ 显然,$F ...

  3. 填坑总结:python内存泄漏排查小技巧

    摘要:最近服务遇到了内存泄漏问题,运维同学紧急呼叫解决,于是在解决问题之余也系统记录了下内存泄漏问题的常见解决思路. 本文分享自华为云社区<python内存泄漏排查小技巧>,作者:luti ...

  4. 和安卓对接老是ping不通?试试内网映射

    https://ngrok.cc/download.html

  5. DirectX12 3D 游戏开发与实战第九章内容(下)

    仅供个人学习使用,请勿转载.谢谢! 9.纹理贴图 学习目标 学习如何将局部纹理映射到网格三角形中 探究如何创建和启用纹理 学会如何通过纹理过滤来创建更加平滑的图像 探索如何使用寻址模式来进行多次贴图 ...

  6. R语言与医学统计图形-【33】生存曲线、森林图、曼哈顿图

    1.生存曲线 基础包survival+扩展包survminer. survival包内置肺癌数据集lung. library(survival) library(survminer) str(lung ...

  7. 中兴交换机基础配置(备份、dhcp中继、monitor)

    1. 备份配置 格式: copy tftp/sftp/ftp [vrf mng] root: 本地文件 远端文件 1. 通过tftp进行备份,vrf mng表示指定使用管理口链路连接 copy tft ...

  8. 37-Invert Binary Tree

    Invert Binary Tree My Submissions QuestionEditorial Solution Total Accepted: 87818 Total Submissions ...

  9. Perl哈希%hash

    哈希是 key/value 键/值对的集合. Perl中哈希变量以百分号 (%) 标记开始. 访问哈希元素格式:${key}. 以下是一个简单的哈希实例: 实例 #!/usr/bin/perl %da ...

  10. 21-Add Two Numbers-Leetcode

    You are given two linked lists representing two non-negative numbers. The digits are stored in rever ...