我有一些Mac Minis和旧Mac Pro,我们用它们作为Jenkins奴隶进行自动化测试。
偶尔宝石会消失,我必须重新安装它们。这是使用Mac OS Yosemite内置的Ruby。 为什么会这样?
我在我的个人Macbook Pro上使用RVM,偶尔它会自动决定切换到一个新的Ruby版本,所以它不会拥有我的所有宝石是有意义的。当我换回时,宝石又消失了。
对于奴隶,他们没有安装RVM,结果是一样的。 这可能是由Mac OS更新造成的吗?
Gekins没有安装在Jenkins工作区中,我在安装Jenkins代理之前安装了它们。 Mac与测试自动化团队共享,他们也对它们进行ssh / sudo,但是在Ruby中没有做任何事情,因为他们的代码是Java。
答案 0 :(得分:0)
这可能是由mac OS更新引起的吗?
这可能是由操作系统更新引起的,这是你不使用系统Ruby进行开发的一个重要原因,除非你满足于让它简单易懂。正确地说,Apple认为Ruby是他们的,如果它适合他们的目的并且你升级操作系统,他们可以并且将会通过更新来踩它。
相反,至少要从源代码或通过Homebrew安装一个单独的Ruby并考虑你的。或者,调查在Jenkins盒子上使用rbenv或RVM来管理你的Rubies,这就是我们的工作。这允许构建使用不同的Rubies和/或宝石集,并允许您将Jenkins框上的Ruby环境微调到最终目标Ruby将会是什么。
您说您的个人RVM是否自行更改?呃呃,不能自己发生; SOMETHING 告诉它改变。不要将这些东西归咎于voodoo或juju,有些东西正在使这些事情发生,例如环境变量发生变化或.rvmrc文件被踩踏。如果您的RVM配置正确,它应该非常稳定;除非我搞砸了,否则我的rbenv和RVM设置一直非常稳固。
如果没有您gem env
或rvm info
的转储,我们可以做很多事情来帮助您理顺它。一般来说,听起来你需要将Jenkins主机视为生产盒,将其更改为少,并将资产与供应商分开。