groovy Jenkins共享库中的自定义初始化步骤

sxissh06  于 2023-01-20  发布在  Jenkins
关注(0)|答案(1)|浏览(152)

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

你对实现这一目标有什么建议?

mw3dktmi

mw3dktmi1#

请改用scrpted管道语法。

@Library('pipeline-sample')_

node {
    echo 'Do your stuff here'
}

sharedLibrary param1: 'value', param2: 'values'

相关问题