簡體   English   中英

在Jenkins上運行groovy腳本

[英]Running groovy script on Jenkins

我在Jenkins 1.501上安裝了scripter插件:

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

在我的一個奴隸的工作上,我將上面的腳本添加為構建步驟。 當我建立工作時,我得到:

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腳本”作為構建操作,那么這將在Jenkins主機上運行。 因此,請確保類路徑中存在所有必需的jar。 您甚至可以在使用之前檢查腳本。 為此,請轉到your-jenkins-url / jenkins / script並粘貼腳本並進行測試

如果選擇“執行Groovy腳本”選項,請確保jar位於從屬的類路徑中。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM