如何将Grails添加到我的cloudbees Jenkins安装中?

时间:2013-02-06 10:59:20

标签: grails jenkins cloudbees

我正在尝试按照此处的说明在Cloudbees的Jenkins服务上运行我的Grails构建:

http://wiki.cloudbees.com/bin/view/DEV/Build+and+Deploy+Grails+application

但是,当我尝试从“Grails安装”为我的构建作业选择Grails安装时,下拉列表为空,除了“默认”选项:

enter image description here

当我运行构建时,我收到以下错误消息,好像没有安装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)

2 个答案:

答案 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问题。