jenkins 执行 ruby -v 和在 slave 上执行 ruby -v 版本不一致

2016-10-24 23:51:02 +08:00
 louzhumuyou

配置的 jenkins 是 master 和 slave 的形式, slave 是一台 mac mini,问题的引起是因为执行了

sudo remove ruby 2.2.0
rvm use system

然后就出现的现象就是 jenkins 上打印 ruby -v 的版本是 2.2.0 ,本地 slave 上执行 ruby -v 的版本是 2.3.1 , 但是同样执行 rvm list 都是 ruby 2.3.1 , jenkins 上和 slave 上打印的 ruby 版本不一致,导致很多基于 ruby 安装的命令不能用。 求懂行的指教,问题该如何解决,我希望是 jenkins 上执行 ruby -v 的版本跟 slave mac 上命令行执行的结果应该是一致。 能想到的是jenkins是用基于ssh命令的方式登录的,本地命令行直接打开,所以登录方式是不一致的?

6622 次点击
所在节点    Ruby on Rails
2 条回复
mind3x
2016-10-25 11:02:11 +08:00
在 jenkins 全局配置里配置可用的 ruby 版本,在 project 配置里选择使用某个版本, jenkins 会自动在 slave 上安装和配置,各 project 也不会冲突。不要手动去 master/slave 上装特定版本的 ruby ,也不要在 project 里选择使用系统默认的 ruby 版本。
louzhumuyou
2016-10-26 10:27:00 +08:00
@mind3x 假如我需要使用依赖某个 ruby 版本的插件呢?也不能取 slave 上去安装吗

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/315170

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX