0

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

在指定我的存储库 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: 没有这样的属性: svnRoot 类: Script1 at org.codehaus.groovy.runtime.ScriptBytecodeAdapter.unwrap(ScriptBytecodeAdapter.java:49) at 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) 在 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。在 hudson.model.Build$RunnerImpl.doRun(Build.java:137) 在 hudson.model.Build$RunnerImpl.build(Build.java:172) 在 hudson.model.AbstractBuild$AbstractRunner 执行(AbstractBuild.java:603) .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) 在 hudson.model.Executor.run(Executor.java:140)在 hudson.model.Executor.run(Executor.java:140)处执行(ResourceController.java:88)在 hudson.model.Executor.run(Executor.java:140)处执行(ResourceController.java:88)

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

4

1 回答 1

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。

干杯

于 2010-12-29T17:50:42.997 回答