在 Grails 构建目标中使用 Hudson 构建参数
我在参数化构建配置中创建了两个 Hudson 字符串参数:svnRoot
和 svnBranch
。
当指定我的存储库 URL 时,我可以很好地引用这些内容:${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: 脚本1位于 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) 处 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)
实现我的目标的最佳和/或最简单方法是什么?
I have created two Hudson String Parameters in my parametrized build configuration: svnRoot
, and svnBranch
.
I can reference these just fine when specifying my Repository URL: ${svnRoot}/${svnBranch}/subProject
.
But I have not been able to reference them as part of my Grails Build Target: "build-applet ${svnRoot}/${svnBranch}/appletProject username password" "war --non-interactive"
. build-applet
invokes a Gant script in the Grails project at scripts\BuildApplet.groovy
. This attempt yields the following error:
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)
What is the best and or easiest way to achieve my goal?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
通过查看 Grails 插件的 wiki 页面 (http://wiki.hudson-ci.org/display/HUDSON/Grails+Plugin),这应该可以工作。
如果没有,我会尝试命令行构建步骤。确保将 GRAILS_HOME 设置为脚本中的第一行,然后调用 grails.
干杯
李
From looking at the wiki page on the Grails plugin (http://wiki.hudson-ci.org/display/HUDSON/Grails+Plugin), this should work
If not, I'd try a command line build step. Make sure you set GRAILS_HOME as the first line in the script then call grails.
cheers
Lee