詹金斯是一个Ubuntu机器上运行。它有一个用于执行作业的特殊用户詹金斯。
RVM安装在服务器上的SSH外壳,登录的用户詹金斯,一切工作正常。(如果我设置RVM使用Ruby 1.9.3 ruby -v
returns 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呢?
我通过获取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: ""
RVM上创建工作区名为“rvm.env”环境文件。如果您添加:
source rvm.env
你的shell脚本,你会得到正确的环境,而无需手动设置RVM。
添加“RVM使用X.X.X”并没有为我工作。但它确实产生有用的错误信息:
RVM是不是一个功能,选择与红宝石“RVM使用......”将无法正常工作。
你需要改变你的终端仿真器的喜好允许登录shell。有时需要使用
/bin/bash --login
的命令。请访问https://rvm.io/integration/gnome-terminal/为例。
我的终端模拟器已经被允许登录shell了。
添加“--login”的庆典调用得到它的工作。