如何在jenkins中使用gradle编译@Library @NonCPS

时间:2018-03-19 14:33:16

标签: jenkins gradle groovy shared-libraries jenkins-pipeline

我需要验证管道脚本(脚本管道)中的代码更改,但我在编译@Library和@NonCPS行时遇到问题。

在gradle中进行任务编译时,我遇到了错误:

unable to resolve class Library ,  unable to find class for annotation @Library('someLibrary') _

unable to resolve class NonCPS ,  unable to find class for annotation @NonCPS

我尝试在依赖项中包含一些外部插件,如下所示:

dependencies {
    compile 'org.jenkins-ci.plugins.workflow:workflow-cps:2.41@jar'
    compile 'org.jenkins-ci.plugins.workflow:workflow-cps-global-lib:2.4@jar'
    compile 'org.jenkins-ci.plugins:pipeline-utility-steps:1.5.0@jar'
    compile 'org.jenkins-ci.plugins.workflow:workflow-support:2.14@jar'
    compile 'org.codehaus.groovy:groovy-all:2.3.11'
    compile "org.jenkins-ci.plugins:job-dsl-core:${jobDslPluginVersion}"
    compile 'org.jenkins-ci.main:jenkins-core:1.609.3'
    compile 'org.jenkins-ci.plugins:build-pipeline-plugin:1.5.6'
    compile 'org.jenkins-ci.plugins:pipeline-build-step:2.5.1'
    compile 'org.jenkins-ci.plugins.pipeline-stage-view:pipeline-stage-view:2.9'
    compile 'org.jenkins-ci.plugins.workflow:workflow-cps:2.41'
    compile 'org.jenkins-ci.plugins.workflow:workflow-cps-global-lib:2.4'
    compile 'org.jenkins-ci.plugins:pipeline-utility-steps:1.5.0'
    compile 'org.jenkins-ci.plugins.workflow:workflow-support:2.14'
}

但没有按预期工作。

我是新手,所以我可能会错过一些理解。

1 个答案:

答案 0 :(得分:1)

NonCPS注释类型来自包com.cloudbees.groovy.cps中的开源cloudbees/groovy-cps存储库。

您可以在compile('com.cloudbees:groovy-cps:1.22')等内容上添加编译依赖项。