尽管RVM-插件詹金斯使用错误的红宝石版本

问题描述 投票:1回答:3

詹金斯是一个Ubuntu机器上运行。它有一个用于执行作业的特殊用户詹金斯。 RVM安装在服务器上的SSH外壳,登录的用户詹金斯,一切工作正常。(如果我设置RVM使用Ruby 1.9.3 ruby -vreturns 1.9.3如版本) 我用的是RVM-插件詹金斯,并设置为使用1.9.3

詹金斯输出RVM:通过“RVM使用1.9.3” $庆典-c出口产生的捕捉环境变量 $的bash -c “测试-f〜/ .rvm /脚本/ RVM” $的bash -c “测试-f在/ usr /本地/ RVM /脚本/ RVM” [工作空间] $的bash -c “源的/ usr /本地/ RVM /脚本/ RVM && RVM使用--install --create 1.9.3 &&出口> rvm.env” 使用/usr/local/rvm/gems/ruby-1.9.3-p0


但是,如果我以后要执行我的脚本,它使用的Ruby版本1.8.7。

红宝石版和环境的输出:

  + which ruby  
  /usr/bin/ruby  
  + ruby -v  
  ruby 1.8.7 (2010-01-10 patchlevel 249) [i486-linux]  
  + rvm info  

 ruby-1.9.3-p0:  

  system:  
      uname:       "Linux h1332957.stratoserver.net 2.6.32-042stab078.27 #1 SMP Mon Jul 1 20:48:07 MSK 2013 i686 GNU/Linux"  
      bash:        "/bin/bash => GNU bash, version 4.1.5(1)-release (i486-pc-linux-gnu)"  
      zsh:         " => not installed"  
   rvm:  
      version:    "rvm 1.9.2 by Wayne E. Seguin ([email protected] [https://rvm.beginrescueend.com/]"  
   ruby:  
      interpreter:  "ruby"  
      version:      "1.8.7"  
      date:         "2010-01-10"  
      platform:     "i486-linux"  
      patchlevel:   "2010-01-10 patchlevel 249"  
      full_version: "ruby 1.8.7 (2010-01-10 patchlevel 249) [i486-linux]"  
   homes:  
      gem:          "/usr/local/rvm/gems/ruby-1.9.3-p0"  
      ruby:         "/usr/local/rvm/rubies/ruby-1.9.3-p0"  
   binaries:  
      ruby:         "/usr/bin/ruby"  
      irb:          "/usr/bin/irb"  
      gem:          "/usr/bin/gem"  
      rake:         "/usr/bin/rake"  
   environment:  
      PATH:         "/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games:/usr/local/rvm/bin:/usr/local/rvm/bin"  
      GEM_HOME:     "/usr/local/rvm/gems/ruby-1.9.3-p0"  
      GEM_PATH:     "/usr/local/rvm/gems/ruby-1.9.3-p0:/usr/local/rvm/gems/ruby-1.9.3-p0@global"  
      MY_RUBY_HOME: "/usr/local/rvm/rubies/ruby-1.9.3-p0"  
      IRBRC:        "/usr/local/rvm/rubies/ruby-1.9.3-p0/.irbrc"  
      RUBYOPT:      ""  
      gemset:       ""  

题: 我怎样才能让詹金斯使用Ruby版本1.9.3呢?

ruby ubuntu jenkins rvm hudson
3个回答
1
投票

我通过获取RVM解决了这个问题。 我更新了我的脚本是这样的:

 #!/bin/bash
 source "/usr/local/rvm/scripts/rvm"
 rvm use 1.9.3
 rvm info

现在,通过RVM信息输出是正确的。 最重要的是第一和第二线。

输出由rvm info

 ruby-1.9.3-p0:

   system:
     uname:       "Linux h1332957.stratoserver.net 2.6.32-042stab078.27 #1 SMP Mon Jul 1 20:48:07 MSK 2013 i686 GNU/Linux"
     bash:        "/bin/bash => GNU bash, version 4.1.5(1)-release (i486-pc-linux-gnu)"
     zsh:         " => not installed"

   rvm:
     version:      "rvm 1.9.2 by Wayne E. Seguin ([email protected]) [https://rvm.beginrescueend.com/]"

   ruby:
     interpreter:  "ruby"
     version:      "1.9.3p0"
     date:         "2011-10-30"
     platform:     "i686-linux"
     patchlevel:   "2011-10-30 revision 33570"
     full_version: "ruby 1.9.3p0 (2011-10-30 revision 33570) [i686-linux]"

   homes:
     gem:          "/usr/local/rvm/gems/ruby-1.9.3-p0"
     ruby:         "/usr/local/rvm/rubies/ruby-1.9.3-p0"

   binaries:
     ruby:         "/usr/local/rvm/rubies/ruby-1.9.3-p0/bin/ruby"
     irb:          "/usr/local/rvm/rubies/ruby-1.9.3-p0/bin/irb"
     gem:          "/usr/local/rvm/rubies/ruby-1.9.3-p0/bin/gem"
     rake:         "/usr/local/rvm/gems/ruby-1.9.3-p0/bin/rake"

   environment:
     PATH:         "/usr/local/rvm/gems/ruby-1.9.3-p0/bin:/usr/local/rvm/gems/ruby-1.9.3-p0@global/bin:/usr/local/rvm/rubies/ruby-1.9.3-p0/bin:/usr/local/rvm/bin:/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games"
     GEM_HOME:     "/usr/local/rvm/gems/ruby-1.9.3-p0"
     GEM_PATH:     "/usr/local/rvm/gems/ruby-1.9.3-p0:/usr/local/rvm/gems/ruby-1.9.3-p0@global"
     MY_RUBY_HOME: "/usr/local/rvm/rubies/ruby-1.9.3-p0"
     IRBRC:        "/usr/local/rvm/rubies/ruby-1.9.3-p0/.irbrc"
     RUBYOPT:      ""
     gemset:       ""

1
投票

RVM上创建工作区名为“rvm.env”环境文件。如果您添加:

source rvm.env

你的shell脚本,你会得到正确的环境,而无需手动设置RVM。


0
投票

添加“RVM使用X.X.X”并没有为我工作。但它确实产生有用的错误信息:

RVM是不是一个功能,选择与红宝石“RVM使用......”将无法正常工作。

你需要改变你的终端仿真器的喜好允许登录shell。有时需要使用/bin/bash --login的命令。请访问https://rvm.io/integration/gnome-terminal/为例。

我的终端模拟器已经被允许登录shell了。

添加“--login”的庆典调用得到它的工作。

© www.soinside.com 2019 - 2024. All rights reserved.