我正在使用OSX Jenkins从机为Xcode运行一些构建命令,当我在本地终端运行gem环境时,这就是我得到的。
RubyGems Environment:
- RUBYGEMS VERSION: 2.4.8
- RUBY VERSION: 2.2.0 (2014-12-25 patchlevel 0) [x86_64-darwin15]
- INSTALLATION DIRECTORY: /Users/nvitas/.rvm/gems/ruby-2.2.0
- RUBY EXECUTABLE: /Users/nvitas/.rvm/rubies/ruby-2.2.0/bin/ruby
- EXECUTABLE DIRECTORY: /Users/nvitas/.rvm/gems/ruby-2.2.0/bin
- SPEC CACHE DIRECTORY: /Users/nvitas/.gem/specs
- SYSTEM CONFIGURATION DIRECTORY: /Users/nvitas/.rvm/rubies/ruby-2.2.0/etc
- RUBYGEMS PLATFORMS:
- ruby
- x86_64-darwin-15
- GEM PATHS:
- /Users/nvitas/.rvm/gems/ruby-2.2.0
- /Users/nvitas/.rvm/gems/ruby-2.2.0@global
- GEM CONFIGURATION:
- :update_sources => true
- :verbose => true
- :backtrace => false
- :bulk_threshold => 1000
- REMOTE SOURCES:
- https://rubygems.org/
- SHELL PATH:
- /Users/nvitas/.rvm/gems/ruby-2.2.0/bin
- /Users/nvitas/.rvm/gems/ruby-2.2.0@global/bin
- /Users/nvitas/.rvm/rubies/ruby-2.2.0/bin
- /Users/nvitas/.rvm/bin
- /usr/local/opt/ruby/bin
- /usr/local/bin
- /usr/bin
- /bin
- /usr/sbin
- /sbin
这就是我所期望的。现在当我通过Jenkins运行完全相同的命令时,我得到了这个
RubyGems Environment:
- RUBYGEMS VERSION: 2.0.14
- RUBY VERSION: 2.0.0 (2015-04-13 patchlevel 645) [universal.x86_64-darwin15]
- INSTALLATION DIRECTORY: /Users/nvitas/.rvm/gems/ruby-1.9.2-p320
- RUBY EXECUTABLE: /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/bin/ruby
- EXECUTABLE DIRECTORY: /Users/nvitas/.rvm/gems/ruby-1.9.2-p320/bin
- RUBYGEMS PLATFORMS:
- ruby
- universal-darwin-15
- GEM PATHS:
- /Users/nvitas/.rvm/gems/ruby-1.9.2-p320
- /Users/nvitas/.rvm/gems/ruby-1.9.2-p320@global
- GEM CONFIGURATION:
- :update_sources => true
- :verbose => true
- :backtrace => false
- :bulk_threshold => 1000
- REMOTE SOURCES:
- https://rubygems.org/
我在相同的目录下运行所有的东西,相同的用户,没有什么不同,那么为什么ruby版本和目录是错误的呢?我的Jenkins Slave中唯一的配置设置是PATH
变量,其值为
/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/Users/nvitas/.rvm/gems/ruby-2.2.0/bin:/Users/nvitas/.rvm/bin:/Users/nvitas/.rvm/gems/ruby-2.2.0
除此之外,一切都是什么来安装。
2条答案
按热度按时间93ze6v8z1#
当jenkins执行你的脚本时,它不会访问你本地的~/.bash_profile或~/.zhrc,它们将设置或引用你的ruby包管理器设置。
将~/.bash_profile或~/.zhrc中的内容添加到Jenkins项目配置中的构建脚本。
在我的例子中,我使用的是chruby,这是我经历过的最简单的一个--所以我在jenkins脚本中的#!/bin/zsh -l下面添加了这个,你的第一行可能是#!/bin/bash...
如果你使用rbenv,你可能会包括以下代码:
jhiyze9q2#
如果您使用的是RVM,请使用以下脚本
现在可以运行所有rvm命令