我想扩展共享库的用法-想添加一个包含管道所有选项的函数:
options {
disableConcurrentBuilds()
timestamps()
timeout(time: 30, unit: 'MINUTES')
buildDiscarder(logRotator(numToKeepStr: '30'))
}
所以在我的管道中,我将得到
pipeline {
agent any
pipelineOptions()
stages {
stage('phase1') {
steps {
sh 'echo Hello World '
}
}
}
}
尝试了类似的方法,但没有成功
//pipelineOptions.groovy
def call() {
options {
disableConcurrentBuilds()
timestamps()
timeout(time: 5, unit: 'MINUTES')
//buildDiscarder(logRotator(numToKeepStr: ' params.history'))
buildDiscarder(logRotator(numToKeepStr: ' 5'))
}
}
找不到方法...,有可能吗?
答案 0 :(得分:2)
今天不可能在共享库中定义声明性管道的sections / directives。来自documentation:
到目前为止,只能在共享库中定义整个管道。这只能在
vars/*.groovy
中完成,并且只能在call
方法中完成。单个构建中只能执行一个声明性管道,如果尝试执行第二个声明性管道,则结果将失败。