Ruby on rails Jenkins-Rake插件找不到Rake

Ruby on rails Jenkins-Rake插件找不到Rake,ruby-on-rails,jenkins,rake,jenkins-plugins,Ruby On Rails,Jenkins,Rake,Jenkins Plugins,我在Jenkins的工作中使用了几个Rake步骤(通过Rake插件),但它声称无法找到Rake: + bundle update ................................. Using rake (0.9.2.2) ................................. [workspace] $ rake db:drop FATAL: rake execution failed java.io.IOException: Cannot run program

我在Jenkins的工作中使用了几个Rake步骤(通过Rake插件),但它声称无法找到Rake:

+ bundle update
.................................
Using rake (0.9.2.2) 
.................................
[workspace] $ rake db:drop
FATAL: rake execution failed
java.io.IOException: Cannot run program "rake" (in directory "/var/lib/jenkins/jobs/myproject/workspace"): java.io.IOException: error=2, No such file or directory
    at java.lang.ProcessBuilder.start(ProcessBuilder.java:475)
    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$ProcStarter.join(Launcher.java:345)
    at hudson.plugins.rake.Rake.perform(Rake.java:141)
    at hudson.tasks.BuildStepMonitor$1.perform(BuildStepMonitor.java:19)
    at hudson.model.AbstractBuild$AbstractBuildExecution.perform(AbstractBuild.java:717)
    at hudson.model.Build$BuildExecution.build(Build.java:199)
    at hudson.model.Build$BuildExecution.doRun(Build.java:160)
    at hudson.model.AbstractBuild$AbstractBuildExecution.run(AbstractBuild.java:499)
    at hudson.model.Run.execute(Run.java:1502)
    at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:46)
    at hudson.model.ResourceController.execute(ResourceController.java:88)
    at hudson.model.Executor.run(Executor.java:236)
Caused by: java.io.IOException: java.io.IOException: error=2, No such file or directory
    at java.lang.UNIXProcess.<init>(UNIXProcess.java:164)
    at java.lang.ProcessImpl.start(ProcessImpl.java:81)
    at java.lang.ProcessBuilder.start(ProcessBuilder.java:468)
    ... 15 more
Build step 'Invoke Rake' marked build as failure
Finished: FAILURE
如果我在Jenkins中以普通shell命令的形式执行rake,而不使用rake插件:

+ rake db:drop
/var/lib/jenkins/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/yaml.rb:56:in `<top (required)>':
It seems your ruby installation is missing psych (for YAML output).
To eliminate this warning, please install libyaml and reinstall your ruby.
没有帮助。(更新:这只是一个警告,并不影响任何事情,但很烦人)

我在Jenkins之外的~/.RVM目录下安装了另一个RVM+Ruby捆绑包,它工作得很好。

试试这个

为了满足我们的需要,我们在脚本/shell构建步骤中加入了其他的包


为了满足我们的需要,我们完成了这项工作,剩下的像bundle一样,我们加入了脚本/shell构建步骤。

不确定这是否有帮助,但我遇到了类似的问题。问题是我安装rakegem的Ruby路径不在Jenkins进程的路径中

我使用的init.d脚本(/etc/init.d/jenkins)硬编码了PATH变量:

PATH=/bin:/usr/bin:/sbin:/usr/sbin
因为我使用的是ChefDK,所以我将嵌入式ChefDK Ruby添加到init.d脚本路径:

PATH=/bin:/usr/bin:/sbin:/usr/sbin:/opt/chefdk/embedded/bin:/opt/chefdk/bin/

您可能需要根据Ruby的安装位置修改路径。希望这对某人有帮助。

不确定这是否对你有帮助,但我也有类似的问题。问题是我安装rakegem的Ruby路径不在Jenkins进程的路径中

我使用的init.d脚本(/etc/init.d/jenkins)硬编码了PATH变量:

PATH=/bin:/usr/bin:/sbin:/usr/sbin
因为我使用的是ChefDK,所以我将嵌入式ChefDK Ruby添加到init.d脚本路径:

PATH=/bin:/usr/bin:/sbin:/usr/sbin:/opt/chefdk/embedded/bin:/opt/chefdk/bin/

您可能需要根据Ruby的安装位置修改路径。希望这对某人有所帮助。

如果你这样做了会怎么样:
bundle exec rake db:drop
你找到过这样的sln吗?没有。目前我已经放弃了Jenkins,这是一件不方便的事,所以我在这方面的研究已经停止了。如果你这样做:
bundle exec rake db:drop
你找到过这样的sln吗?没有。目前我已经放弃了Jenkins,因为这是一件不方便的事情,所以我在这方面的研究已经停止了。这些错误就是在我使用这个rake插件时出现的。当我尝试不用它时,一切都很好。我也在使用RVM插件。这些错误就是在我使用这个Rake插件时出现的。当我尝试不用它时,一切都很好。我也在使用RVM插件。我两天前就必须这么做+1我两天前就必须这样做+1.