Ausführen von groovy-Skript auf Jenkins
Installiert hab ich das scripter-Plug-in für Jenkins 1.501:
https://wiki.jenkins-ci.org/display/JENKINS/Scriptler+Plugin
Erstellt habe ich dieses Skript:
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()
basierend auf diesem Beispiel:
https://wiki.jenkins-ci.org/display/JENKINS/Authenticating+scripted+clients
Auf einen job auf einem meiner Sklaven, ich füge das obige Skript als build-Schritt. Wenn ich Baue den job, den ich bekommen:
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
Dies scheint zurückzuführen zu sein issues.jenkins-ci.org/browse/JENKINS-16361 (@Grab-Traube-Unterstützung)
InformationsquelleAutor u123 | 2013-02-15
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wenn Sie gewählt haben, "Execute System Groovy-Skript", wie Sie die build action -, dann wird dies führen Sie auf Jenkins master. Stellen Sie also sicher, dass alle benötigten jars sind in den class-path. Sie können auch überprüfen Sie das Skript, noch bevor Sie es verwenden. Zu tun, gehen Sie zu Ihr-jenkins-url/jenkins/Skript, und fügen Sie das Skript und test
Wenn "Groovy-Skript Ausführen" - option ausgewählt ist, sicherzustellen, dass die Gläser im classpath des slave.
InformationsquelleAutor Shiva Kumar