【问题标题】:Jenkins and running rake tasksJenkins 和运行 rake 任务
【发布时间】:2016-05-29 09:36:31
【问题描述】:

作为构建过程的一部分(我安装了 Rake 插件),我在 Jenkins 内(在 docker 容器内)运行 rake 任务时遇到了一些问题。我收到错误

java.io.IOException: Cannot run program "rake" (in directory "/var/jenkins/workspace/HendricksFeaturesCopy"): error=2, No such file or directory

我不明白我在调用 rake 任务之前 pwd $ECHO 时得到的。

/var/jenkins/workspace/HendricksFeaturesCopy

所以我在正确的位置,rake 安装在此处

/usr/local/rvm/rubies/ruby-2.3.0/bin/rake

我的Rakefile 看起来像

import 'lib/tasks/yard-docs.rake'

lib/tasks/yard-docs.rake

require 'yard'
namespace :yard_docs do

  desc 'Generate Yard Documentation'
  task :generate do
    # Generate Yard Documentation
  end
end

有谁知道如何纠正这个或我遗漏了什么?

更新

做完echo $PATH

/usr/local/rvm/gems/ruby-2.3.0/bin:/usr/local/rvm/gems/ruby-2.3.0@global/bin:/usr/local/rvm/rubies/ruby-2.3.0/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/local/rvm/bin

所以这意味着正在使用正确的 gemset,当我完成 rvm @global do gem list

rake (10.4.2)

那么,rake 可用吗?

【问题讨论】:

    标签: ruby jenkins docker rake


    【解决方案1】:

    确保 /usr/local/rvm/rubies/ruby-2.3.0/bin/ 在您的 $PATH 中。

    PATH=/usr/local/rvm/rubies/ruby-2.3.0/bin/:$PATH
    

    或者,将/usr/local/rvm/rubies/ruby-2.3.0/bin/rake 符号链接到/usr/local/bin/

    ln -s /usr/local/rvm/rubies/ruby-2.3.0/bin/rake /usr/local/bin/
    

    【讨论】:

    • 感谢您的回答,我检查了 $PATH 并且它似乎在那里,所以符号链接到这里的方式吗?
    • 为了清楚起见,您从 Jenkins 容器中回显 $PATH 对吗? type -a rakewhich -a rake 的输出是什么?
    • 是的 echo $PATH 已在容器中运行,输出为 /usr/local/rvm/rubies/ruby-2.3.0/bin/rake
    • 您可以尝试运行 docker exec -it jenkins_container rake --version 以确保运行 jenkins 进程的用户可以访问它。也有可能是 Jenkins 的配置中没有正确配置 RUBY_HOME 参数。
    • 我得到 'rpc 错误:code = 2 desc = "oci runtime error: exec failed: exec: \"rake\": executable file not found in $PATH"MC-S102486:, what i发现自己在我的构建过程中做的是 source /usr/local/rvm/scripts/rvm 来初始化 rvm ??
    猜你喜欢
    • 1970-01-01
    • 2010-10-09
    • 2012-11-15
    • 2014-12-05
    • 1970-01-01
    • 2011-06-20
    • 2019-05-31
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多