在Grails构建目标中使用Hudson构建参数

时间:2010-12-29 17:19:55

标签: grails ant continuous-integration hudson gant

我在参数化构建配置中创建了两个Hudson字符串参数:svnRootsvnBranch

在指定我的存储库网址时,我可以引用它们:${svnRoot}/${svnBranch}/subProject

但是我无法将它们作为Grails构建目标的一部分引用:"build-applet ${svnRoot}/${svnBranch}/appletProject username password" "war --non-interactive"build-appletscripts\BuildApplet.groovy的Grails项目中调用Gant脚本。此尝试产生以下错误:

  

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

实现目标的最佳和最简单方法是什么?

1 个答案:

答案 0 :(得分:1)

通过查看Grails插件上的wiki页面(http://wiki.hudson-ci.org/display/HUDSON/Grails+Plugin),这应该可行

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

如果没有,我会尝试命令行构建步骤。确保将GRAILS_HOME设置为脚本中的第一行,然后调用grails。

欢呼声