2012-08-15 63 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」基本上爲一組的寶石創建一個沙箱隔離它們到一個特定的項目。

相關問題