2017-02-02 38 views
0

我是groovy的noob,遇到了工作dsl詹金斯插件,適合我的要求。工作dsl複製現有的詹金斯工作

我的要求是複製現有詹金斯工作(說),並創建一個只爲顛覆URL變化(在顛覆插件)新作業B在作業B.

我嘗試了開發一個基本就像下面的工作dsl腳本,並從那裏進一步發展,適合我的上述要求。

job('ci') { 
    description 'Build and test the app.' 
    scm { 
     svn('https://svn.mydomain.com/repo/project1/trunk') 
    } 
} 

下面是我面臨的問題,我試圖找出答案沒有任何運氣,並會非常感謝任何幫助。

Using dsl from string 
ERROR: Build step failed with exception 
groovy.lang.MissingMethodException: No signature of method: Script1.job() is applicable for argument types: (java.lang.String, Script1$_run_closure1) values: [PROJ-unit-tests, [email protected]] 
Possible solutions: job(groovy.lang.Closure), run(), run(), any(), wait(), dump() 
+0

@daspilker:你可以在這裏建議我一些想法。謝謝。 –

+0

你的DSL腳本似乎是正確的。它運行在[playground](http://job-dsl.herokuapp.com/)上沒有問題。你使用「流程作業DSL」構建步驟嗎?你需要提供更多的上下文。 – daspilker

+0

@daspilker:是的,在Jenkins中,我使用「流程作業DSL」構建步驟,剛進入我的示例代碼並嘗試構建作業。 但同樣的問題: '大廈工作區d:\詹金斯\工作區\ Seed_Proj 從字符串中使用DSL 錯誤:構建步驟與例外 groovy.lang.MissingMethodException失敗:法無簽名:Script1.freeStyleJob()是適用於參數類型:(java.lang.String中)的值:[SimpleJob] \t在javaposse.jobdsl.dsl.DslScriptLoader.parseScript(DslScriptLoader.java:72)\t在javaposse.jobdsl.dsl.DslScriptLoader.runDsl(DslScriptLoader .java:39)' –

回答

2

如果事情根本不工作,嘗試更新作業DSL插件的最新版本,並試圖讓tutorial步驟(你可以跳過#4)工作。

有關詳細信息,請參閱上面的註釋。