首页 技术 正文
技术 2022年11月15日
0 收藏 975 点赞 5,033 浏览 1877 个字

目录

一.简介

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.'
}
相关推荐
python开发_常用的python模块及安装方法
adodb:我们领导推荐的数据库连接组件bsddb3:BerkeleyDB的连接组件Cheetah-1.0:我比较喜欢这个版本的cheeta…
日期:2022-11-24 点赞:878 阅读:9,088
Educational Codeforces Round 11 C. Hard Process 二分
C. Hard Process题目连接:http://www.codeforces.com/contest/660/problem/CDes…
日期:2022-11-24 点赞:807 阅读:5,564
下载Ubuntn 17.04 内核源代码
zengkefu@server1:/usr/src$ uname -aLinux server1 4.10.0-19-generic #21…
日期:2022-11-24 点赞:569 阅读:6,413
可用Active Desktop Calendar V7.86 注册码序列号
可用Active Desktop Calendar V7.86 注册码序列号Name: www.greendown.cn Code: &nb…
日期:2022-11-24 点赞:733 阅读:6,186
Android调用系统相机、自定义相机、处理大图片
Android调用系统相机和自定义相机实例本博文主要是介绍了android上使用相机进行拍照并显示的两种方式,并且由于涉及到要把拍到的照片显…
日期:2022-11-24 点赞:512 阅读:7,822
Struts的使用
一、Struts2的获取  Struts的官方网站为:http://struts.apache.org/  下载完Struts2的jar包,…
日期:2022-11-24 点赞:671 阅读:4,905