在 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”的共享库。
我有一个这样组织的 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”的共享库。