V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
louzhumuyou
V2EX  ›  Ruby on Rails

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

  •  
  •   louzhumuyou · 2016-10-24 23:51:02 +08:00 · 6622 次点击
    这是一个创建于 2984 天前的主题,其中的信息可能已经有所发展或是发生改变。

    配置的 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命令的方式登录的,本地命令行直接打开,所以登录方式是不一致的?

    2 条回复    2016-10-26 10:27:00 +08:00
    mind3x
        1
    mind3x  
       2016-10-25 11:02:11 +08:00
    在 jenkins 全局配置里配置可用的 ruby 版本,在 project 配置里选择使用某个版本, jenkins 会自动在 slave 上安装和配置,各 project 也不会冲突。不要手动去 master/slave 上装特定版本的 ruby ,也不要在 project 里选择使用系统默认的 ruby 版本。
    louzhumuyou
        2
    louzhumuyou  
    OP
       2016-10-26 10:27:00 +08:00
    @mind3x 假如我需要使用依赖某个 ruby 版本的插件呢?也不能取 slave 上去安装吗
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1441 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 17:22 · PVG 01:22 · LAX 09:22 · JFK 12:22
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.