1

我想扩展我们的共享库使用 - 想添加一个包含管道所有选项的函数:

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'))
        }

}

找不到怎么做...,有可能吗?

4

1 回答 1

2

今天不可能在共享库中定义声明性管道的部分/指令。文档中:

到目前为止,只能在共享库中定义整个管道。这只能在 中完成vars/*.groovy,并且只能在一个call方法中完成。在一个构建中只能执行一个声明式管道,如果您尝试执行第二个,您的构建将因此失败。

于 2018-07-09T14:16:50.610 回答