我正在尝试按照此处的说明在Cloudbees的Jenkins服务上运行我的Grails构建:
http://wiki.cloudbees.com/bin/view/DEV/Build+and+Deploy+Grails+application
但是,当我尝试从“Grails安装”为我的构建作业选择Grails安装时,下拉列表为空,除了“默认”选项:
当我运行构建时,我收到以下错误消息,好像没有安装Grials实例:
java.io.IOException: Cannot run program "grails" (in directory "/scratch/jenkins/workspace/liza"): java.io.IOException: error=2, No such file or directory
at java.lang.ProcessBuilder.start(ProcessBuilder.java:460)
at hudson.Proc$LocalProc.<init>(Proc.java:244)
at hudson.Proc$LocalProc.<init>(Proc.java:216)
at hudson.Launcher$LocalLauncher.launch(Launcher.java:709)
at hudson.Launcher$ProcStarter.start(Launcher.java:338)
at hudson.Launcher$RemoteLaunchCallable.call(Launcher.java:934)
at hudson.Launcher$RemoteLaunchCallable.call(Launcher.java:901)
at hudson.remoting.UserRequest.perform(UserRequest.java:118)
at hudson.remoting.UserRequest.perform(UserRequest.java:48)
at hudson.remoting.Request$2.run(Request.java:326)
at hudson.remoting.InterceptingExecutorService$1.call(InterceptingExecutorService.java:72)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
at java.util.concurrent.FutureTask.run(FutureTask.java:138)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:662)
Caused by: java.io.IOException: java.io.IOException: error=2, No such file or directory
at java.lang.UNIXProcess.<init>(UNIXProcess.java:148)
at java.lang.ProcessImpl.start(ProcessImpl.java:65)
at java.lang.ProcessBuilder.start(ProcessBuilder.java:453)
... 15 more
我做错了吗?我需要以某种方式自己安装Grails吗?
我已经尝试检查“使用Grails包装器”复选框,但我仍然遇到类似的问题:
[liza] $ /scratch/jenkins/workspace/liza/grailsw upgrade --non-interactive
FATAL: command execution failed
java.io.IOException: Cannot run program "/scratch/jenkins/workspace/liza/grailsw" (in directory "/scratch/jenkins/workspace/liza"): java.io.IOException: error=2, No such file or directory
at java.lang.ProcessBuilder.start(ProcessBuilder.java:460)
答案 0 :(得分:4)
“使用Grails包装器”将在这里帮助您(假设您使用的是Grails 2.1或更高版本)。在您的应用运行中
grails wrapper
This will create a grailsw
shell script以及您需要签入的应用程序中的其他一些零碎内容。此包装程序脚本可用于代替已安装的grails
,它将下载自己的Grails副本第一次运行。如果你告诉Jenkins“使用grails包装器”,那么它不需要在构建服务器上单独安装Grails。
答案 1 :(得分:3)
如果您转到Jenkins服务器上的/configure
,您应该会看到Grails安装列表。如果它是空的,你可以添加一个;选择在DEV @ Cloud上使用预安装的Grails ,如果符合您的需要,请选择一个提供的版本;或者您可以选择自动安装并从公共镜像下载最新版本。
如果这些事情无法解决,您可以随时打开支持票;如果有一个可以帮助他人的决议,请参考这个SO问题。