2012-08-15 57 views
0

与RoR中的项目上的朋友一起工作。我们的应用程序已部署在heroku和本地计算机上,经过大量工作后,所有设置都可以在不同的计算机上运行。有没有更加无痛的方式来管理这个未来?我觉得我们会一次又一次地遇到这个问题。使在ubuntu上部署ruby更简单的方法

我有一对夫妇的想法:建立应用程序的私人服务器上

1),做所有我们的发展直接在服务器上(通过SSH)。这是一种常用的方法吗?

2)设置应用都是完全独立的。即运行包括ruby,rails在内的所有应用程序以及我们直接从应用程序文件夹中找到的所有宝石。如果你需要的一切都在项目目录中,似乎你可以避免应用程序在一台机器上工作,但由于稍微不同的ruby版本/宝石版本等原因而不能使用其他程序的问题。

3.)克隆我的硬盘驱动器并发送到我的朋友,以便我们从完全相同的设置开始。有没有办法复制整个磁盘分区的内容(运行ubuntu),然后安装在其他人的计算机上,以便他们可以从启动时运行该操作系统?尽管我们都在运行Ubuntu,但我们发现很多在我的机器上运行的东西都不适用于他,反之亦然。非常奇怪。

+0

对于#3,使用虚拟机。为了在本地运行,rvm处理ruby/gem差异。 – 2012-08-15 20:29:40

+0

你很傻,不会将Ruby版本和RubyGems版本列为依赖项。 – Max 2012-08-15 20:34:27

回答

1

https://github.com/capistrano/capistrano/是使用最广泛的部署工具,它允许您通过SSH部署。

此外,你可能会想看看捆扎机管理宝石和依赖性(http://gembundler.com/),这将使你的生活更容易在不同的机器上运行的条款。

您应该考虑使用RVM(https://rvm.io/)或rbenv(https://github.com/sstephenson/rbenv/)来进一步标准化您的环境以包含特定的ruby版本。

请注意,您也可以使用RVM打造“gemsets”基本上为一组的宝石创建一个沙箱隔离它们到一个特定的项目。

相关问题