对詹金斯
问题描述:
运行Groovy脚本
我已经安装上詹金斯1.501的编剧插件:对詹金斯
https://wiki.jenkins-ci.org/display/JENKINS/Scriptler+Plugin
我创造了这个脚本:
import org.apache.commons.httpclient.*
import org.apache.commons.httpclient.auth.*
import org.apache.commons.httpclient.methods.*
@Grab(group='commons-httpclient', module='commons-httpclient', version='3.1')
void createNewJenkinsProject() {
out.println("Test")
}
createNewJenkinsProject()
基于这个例子:
https://wiki.jenkins-ci.org/display/JENKINS/Authenticating+scripted+clients
在o上工作我的奴隶的我添加上述脚本作为构建步骤。当我建工作,我得到:
Execution of script [move-projects.groovy] failed - java.lang.NoClassDefFoundError: org/apache/ivy/core/report/ResolveReportorg.jenkinsci.plugins.scriptler.util.GroovyScript$ScriptlerExecutionException: java.lang.NoClassDefFoundError: org/apache/ivy/core/report/ResolveReport
at org.jenkinsci.plugins.scriptler.util.GroovyScript.call(GroovyScript.java:66)
at hudson.remoting.UserRequest.perform(UserRequest.java:118)
at hudson.remoting.UserRequest.perform(UserRequest.java:48)
at hudson.remoting.Request$2.run(Request.java:326)
at hudson.remoting.InterceptingExecutorService$1.call(InterceptingExecutorService.java:72)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)
at java.util.concurrent.FutureTask.run(FutureTask.java:166)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
at java.lang.Thread.run(Thread.java:722)
Caused by: java.lang.NoClassDefFoundError: org/apache/ivy/core/report/ResolveReport
答
如果您选择了“执行系统Groovy脚本”作为构建行动,那么这将在詹金斯主机上运行。因此,请确保所有必需的罐子都存在于班级路径中。您甚至可以在使用之前检查脚本。为此,请转至your-jenkins-url/jenkins /脚本并粘贴脚本并进行测试
如果选择“执行Groovy脚本”选项,请确保jar位于从站的类路径中。
这似乎与https://issues.jenkins-ci.org/browse/JENKINS-16361 (@抓葡萄支持)有关, – Timor 2013-06-19 08:37:53