在 Jenkins 共享库中调用助手

Call helpers in a Jenkins Shared Library

我有一个这样组织的 Jenkins 共享库:

 +- src                     
 |   +- main
 |       +- jenkins_shared_library
 |           +- helpers
 |               +- GitHelper.groovy  
 |               +- ArtifactoryHelper.groovy

以 ArtifactoryHelper 为例:

#!/usr/bin/env groovy
package main.jenkins_shared_library.helpers

/** Helper for artifactory commands */
class ArtifactoryHelper implements Serializable
{
    ArtifactoryHelper(String projectName_artifactory='', String organizationName='', String projectName='')
    {
     ...
    }

    def downloadStable()
    {
    ...
    }
}

如何将这些 class 和方法调用到我的 jenkins 管道中?

它更详细地讨论了它 here 但是您需要将您的共享库导入到您的 Jenkinsfile 中,然后声明您的 class 的一个实例。之后就可以调用了。

@Library('somelib')
import main.jenkins_shared_library.helpers.ArtifactoryHelper

node ('build') {
    ArtifactoryHelper artifactoryHelper = new ArtifactoryHelper("projectName_artifactory", "organizationName", "projectName")
    
    stage('Download Stable') {
        artifactoryHelper.downloadStable()
    }
}

这假设您已经将您的库添加为 Jenkins 管理中名为“somelib”的共享库。