为所有用户安装Ruby / Rake的首选方法

我们有几个不同的服务器设置来处理我们的旗舰产品。 我们有一个开发服务器,一个演示/登台服务器和一台生产服务器。 所有这些运行在Debian或Ubuntu的一些变体上。

为了pipe理新客户端的创build,压缩备份,列出统计数据等等。 我创build了一个新的Git仓库(托pipe在GitHub上 ),其中包含一堆Rake任务。 然后我使用rvm来安装Ruby和bundler来安装必要的gem,并使用rvmsudo rake my_task来执行任务。

直到我有一个新的开发人员join该项目,这工作得很好。 他不得不下载rvm,安装ruby,并安装所有适当的gem来使其正常工作,而且要确定是否使用sudorvmsudo是一件痛苦的事情,因为它在每台机器上的设置稍有不同。

所以,我想有点新开始,并重新安装在每台服务器上的一切。 理想情况下,我希望我的开发人员将Git repo克隆到其主目录(以防他们自己修改rake任务),并使用sudo或rvmsudo执行rake任务。 我想将其标准化,以便他们不必猜测它是哪一个。

我记得在安装最新版本的Ruby,Rails和Rake时遇到了一些麻烦,这就是为什么我改用rvm,但看起来这可能是一个糟糕的select。

那么,有没有人知道一个伟大的指南或有任何关于如何设置服务器上的Ruby / Rails / Rake指针,使所有的开发人员与sudo访问可以执行命令,而不必担心安装什么?

非常感谢!

这听起来像是你在标准化环境方面迈出了重要的第一步。 恭喜 – 您正处于短暂的痛苦期,接下来是系统pipe理员涅ana。
说真的,花上一个月的时间,在可预见的将来build立你想要的系统,并开始制定一个计划,使用某种部署工具( 傀儡或厨师是最常见的这些天)部署到处。


部署工具和标准化解决您的主要问题:每台机器上的所有工作都将以相同的方式进行。

在将软件放到模板机器上并select工作方式方面,我build议在基于Debian的系统上安装所有使用apt东西,但是如果您使用的是部署工具,则不是那么重要:您的系统将由工具部署,修补和维护,因此您不应该在现场服务器上执行一次性修补程序。 (是的,有时候会发生这种情况,但请记住,您的部署工具会压制这些变化,因此请确保您在某些时候使它们成为正确的方式)。

在推出之前,一定要让开发者有机会和新的环境(一个VMWare实验室非常好)进行游戏。