通过gradle插件传递Jenkins类路径

时间:2016-08-24 13:20:24

标签: jenkins groovy gradle-plugin

我有一个groovy脚本,其中的对象在我的Jenkins脚本窗口中运行。此脚本引用我的Jenkins实例并创建新的Jenkins分支作业。

该脚本在Jenkins脚本窗口中运行。现在我需要使用Jenkins Gradle插件来执行脚本。 groovy插件有效,但正如我所说,要求是通过gradle插件完成此任务。

我已经尝试过Gradle任务类型JavaExec,它会分配一个新的JVM,但我无法访问我的Jenkins实例。我也尝试了Groovy evaluate(File file)方法,但是Jenkins类的类路径引用丢失了。

// FAILS: forks a new JVM that does not have access to Jenkins object graph
task runCreateBranchJobs(type: JavaExec) {
    description 'Create Branch Jobs in Jenkins'
    main = 'createBranchJobs'
    classpath = sourceSets.main.runtimeClasspath
}

// FAILS: has no knowledge of Jenkins classes, even when evaluated in Jenkins job
task runCreateBranchJobsInSameProcess {
    doLast {
        evaluate(new   File("${projectDir}/src/main/groovy/createBranchJobs.groovy"))
    }
}

关于如何在使用gradle插件成功传递类路径的情况下在Jenkins Job的上下文中运行groovy脚本的任何建议?

0 个答案:

没有答案