在RoR的项目上与朋友一起工作。我们已经将我们的应用程序部署在heroku和我们的本地计算机上,经过大量工作后,所有设置都在不同的计算机上运行。有没有更轻松的方法来管理这个?我觉得我们会一次又一次地遇到这种情况。
我有几个想法:
1。)在私人服务器上设置应用程序,并直接在服务器上进行所有开发(通过ssh)。这是一种常见的方法吗?
2。)将应用程序设置为完全自包含。即从app文件夹直接运行包括ruby,rails和我们需要的所有宝石。如果您需要的所有内容都在项目目录中,似乎您可以避免应用程序在一台计算机上运行而其他计算机无法解决的问题,因为ruby版本/ gem版本略有不同等。
3.。)克隆我的硬盘并发送给我的朋友,以便我们从完全相同的设置开始。有没有办法复制整个磁盘分区的内容(运行ubuntu),然后安装在别人的计算机上,以便他们可以从启动运行操作系统?即使我们都在运行ubuntu,我们发现在我的机器上运行的很多东西都不会对他有效,反之亦然。非常离奇。
答案 0 :(得分:1)
https://github.com/capistrano/capistrano/是使用最广泛的部署工具,允许您通过SSH进行部署。
此外,您可能希望查看Bundler以管理宝石和依赖项(http://gembundler.com/),这将使您在不同计算机上运行时的生活更轻松。
您应该考虑使用RVM(https://rvm.io/)或rbenv(https://github.com/sstephenson/rbenv/)来进一步标准化您的环境以包含特定的ruby版本。
请注意,您还可以使用RVM创建“gemsets”,它基本上为一组gem创建一个沙箱,以将它们隔离到特定项目。