共计 1121 个字符,预计需要花费 3 分钟才能阅读完成。
此处记录下流水线中如何使用options块,参考官方文档:options
官方文档中options提供可定义的功能有很多,以下记录下博主常用的几个:
- buildDiscarder:构建记录保留的策略
- checkoutToSubdirectory:在子目录中检出代码
- disableConcurrentBuilds:关闭当前流水线正在运行的任务
- disableResume:关闭任务恢复,一般任务未运行完成,而jenkins master节点重启,则会恢复任务
- quietPeriod:设置初始等待时间
- retry:错误重试
- skipStagesAfterUnstable:跳过unstable阶段,继续运行
- timeout:设置超时
- timestamps:设置显示步骤时间,需要安装timestamp插件
- parallelsAlwaysFailFast:快速失败,用于并发任务只要有一个出错就快速失败
pipeline {
agent any
options {
// 发布包最多保留10个,构建记录最多保留30个
buildDiscarder logRotator(artifactDaysToKeepStr: '', artifactNumToKeepStr: '10', daysToKeepStr: '', numToKeepStr: '30')
// 在worspace中的字目录中检出代码
checkoutToSubdirectory 'project_code'
// 关闭并发构建,如果当前任务在运行中,则关闭运行中的任务,使用最新的触发来运行
disableConcurrentBuilds abortPrevious: true
// 关闭master节点重启后的自动恢复流水线功能
disableResume()
// 设置任务启动开始的等待时间,单位为second
quietPeriod 10
// 设置重试次数,比如博主这边用的公共仓库,时常会因网络问题导致cnpm/mvn/composer等失败,所以会加个重试,单在此处则为全局重试
// 比较少在此处定义重试,经常在单独的stage或step块里配置
retry(3)
// 超时时间1个小时,单位可以MILLISECONDS,SECONDS,MINUTES,DAYS等
timeout(time: 1, unit: 'HOURS')
// console中记录每个步骤的执行时间
timestamps()
// 使用parallel进行并发构建时,若存在一个任务失败,则快速全局失败
parallelsAlwaysFailFast()
}
stages {
stage('build') {
options { retry(3) }
steps {
echo 'cnpm install ......'
}
}
}
}
正文完