Jenkins共享库包含一个声明性管道定义,我打算在我的项目中使用它。
// vars/sharedLibrary.groovy
def call(Map config = [:]) {
pipeline {
stages {
// ...
}
}
}
我不是库代码的所有者,也不想(或不能)更改或派生它。
现在,在我的项目中使用该库将如下所示:
// Jenkinsfile
sharedLibrary param1: 'value', param2: 'values'
问题是我需要在运行sharedLibrary
之前执行一些自定义的初始化步骤,我很难实现它,因为sharedLibrary
声明了pipeline {}
块的“完整”管道,不允许我在此之前注入任何自定义逻辑。
这就是我想要的(这显然是不正确的):
// Jenkinsfile
pipeline {
stages {
stage('My custom initialization logic') {
// ...
}
}
// The rest of the shared logic goes here:
sharedLibrary param1: 'value', param2: 'values'
}
你对实现这一目标有什么建议?
1条答案
按热度按时间mw3dktmi1#
请改用scrpted管道语法。