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

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

  •  
  •   louzhumuyou · 360 天前 · 879 次点击
    这是一个创建于 360 天前的主题,其中的信息可能已经有所发展或是发生改变。

    配置的 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
        1
    mind3x   360 天前
    在 jenkins 全局配置里配置可用的 ruby 版本,在 project 配置里选择使用某个版本, jenkins 会自动在 slave 上安装和配置,各 project 也不会冲突。不要手动去 master/slave 上装特定版本的 ruby ,也不要在 project 里选择使用系统默认的 ruby 版本。
        2
    louzhumuyou   359 天前
    @mind3x 假如我需要使用依赖某个 ruby 版本的插件呢?也不能取 slave 上去安装吗
    DigitalOcean
    关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   鸣谢   ·   1592 人在线   最高记录 3541   ·  
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.0 · 49ms · UTC 12:35 · PVG 20:35 · LAX 05:35 · JFK 08:35
    ♥ Do have faith in what you're doing.
    沪ICP备16043287号-1