我在参数化构建配置中创建了两个Hudson字符串参数:svnRoot
和svnBranch
。
在指定我的存储库网址时,我可以引用它们:${svnRoot}/${svnBranch}/subProject
。
但是我无法将它们作为Grails构建目标的一部分引用:"build-applet ${svnRoot}/${svnBranch}/appletProject username password" "war --non-interactive"
。 build-applet
在scripts\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)
实现目标的最佳和最简单方法是什么?
答案 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。
欢呼声
利