2010-12-29 9 views
0

パラメータ化されたビルドコンフィグレーションで2つのHudson Stringパラメータを作成しました:svnRootおよびsvnBranchです。GrailsビルドターゲットでHudsonビルドパラメータを使用

私のリポジトリURLを指定するときにこれらを参照できます:${svnRoot}/${svnBranch}/subProject

しかし、私はそれらをGrailsビルドターゲットの一部として参照できませんでした:"build-applet ${svnRoot}/${svnBranch}/appletProject username password" "war --non-interactive"build-appletはGrailsプロジェクトのGantスクリプトをscripts\BuildApplet.groovyに呼び出します。この試行では、次のエラーが発生します。

groovy.lang.MissingPropertyException: No such property: svnRoot for class: Script1 at org.codehaus.groovy.runtime.ScriptBytecodeAdapter.unwrap(ScriptBytecodeAdapter.java:49) at org.codehaus.groovy.runtime.callsite.PogoGetPropertySite.getProperty(PogoGetPropertySite.java:49) at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callGroovyObjectGetProperty(AbstractCallSite.java:240) at Script1.run(Script1.groovy:1) at groovy.lang.GroovyShell.evaluate(GroovyShell.java:561) at groovy.lang.GroovyShell.evaluate(GroovyShell.java:536) at com.g2one.hudson.grails.GrailsBuilder.evalTarget(GrailsBuilder.java:212) at com.g2one.hudson.grails.GrailsBuilder.perform(GrailsBuilder.java:168) at hudson.tasks.BuildStepMonitor$1.perform(BuildStepMonitor.java:19) at hudson.model.AbstractBuild$AbstractRunner.perform(AbstractBuild.java:603) at hudson.model.Build$RunnerImpl.build(Build.java:172) at hudson.model.Build$RunnerImpl.doRun(Build.java:137) at hudson.model.AbstractBuild$AbstractRunner.run(AbstractBuild.java:417) at hudson.model.Run.run(Run.java:1337) at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:46) at hudson.model.ResourceController.execute(ResourceController.java:88) at hudson.model.Executor.run(Executor.java:140)

私の目標を達成する最も簡単な方法は?

答えて

1

Grailsのプラグイン(http://wiki.hudson-ci.org/display/HUDSON/Grails+Plugin)上のwikiページを見ているから、これは私が、

grails build-applet ${env.svnRoot}/${env.svnBranch}/appletProject username password 

ない場合は動作するはずですコマンドラインビルドステップを試してみてください。 GRAILS_HOMEをスクリプトの最初の行に設定してから、grailsを呼び出してください。

歓声

リー

+0

あなた@leebuttsをありがとう!あなたのコード例はうまくいかなかったけど、私は正しい道を選んだ。まず、リンクしたドキュメントを見ると、あなたの例では、 'svnRoot'と' svnBranch'の周りに一重引用符を追加するのを忘れたことが分かりました。しかし、この修正を行った後でも、スクリプトは、 '[' 'System.properties [" grails.cli.args "]?tokenize()'を使ってargsを解析すると、しかし、ドット表記法を使って 'env'変数を逆参照すると、' grails build-applet $ {env.svnRoot}/$ {env.svnBranch}/appletProject username password'が完全に働きました。お気軽にあなたの答えを更新してください。 –

関連する問題