2010-12-29 4 views
0

매개 변수화 된 빌드 구성에 두 개의 허드슨 문자열 매개 변수 (svnRootsvnBranch)를 만들었습니다.Grails에서 Hudson 빌드 매개 변수 사용 빌드 대상

내 저장소 URL을 지정할 때 다음을 참고할 수 있습니다. ${svnRoot}/${svnBranch}/subProject.

하지만 Grails Build Target : "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)에 위키 페이지보고에서이 나는,

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'. 자유롭게 답을 업데이트하십시오. –

관련 문제