2013-02-08 36 views
1

我是Ruby on Rails開發的新手。我已經被賦予了一個任務,以對另一個ROR開發人員創建的現有Ruby on Rails網站進行一些更改。我的問題是,我如何設置一個本地開發環境來模擬以前的開發人員使用的環境?在這個過程中,應用程序中是否有某些文件可以指導我?比如如何連接到分段數據庫,這是運行正確的本地服務器等。如何模仿Ruby on Rails開發環境

我一直在試圖弄清楚現在幾個星期。在之前的項目中,我對應用程序進行了更改,然後將其推送到heroku上的暫存版本。我知道這是一種可怕的做事方式,但我別無選擇。而且,在這種情況下,我不想再這樣做。任何幫助,將不勝感激。

+0

我很抱歉,如果這是錯誤的地方發佈這個問題。 – rsnyder 2013-02-08 20:53:20

回答

2

第一步:如果以前的開發人員沒有留下任何設置說明,請先記錄您學習的內容,以便下一位開發項目的開發人員能夠快速啓動。

首先,您需要確保您使用的是相同版本的紅寶石。檢查項目的根目錄是否爲.rvmrc或.ruby-version文件或類似文件。您也許能夠看到prod中正在使用哪個版本。

接下來,對於數據庫配置,請在config/database.yml中查找它希望找到數據庫的位置。通常情況下,您的本地計算機上會有一個用於開發的程序,一個用於測試,另一個用於生產,但也可能有其他程序。在我們的組織中,config/database.yml是config/databases中配置文件的符號鏈接,我們針對dev,qa和生產環境設置了不同的設置,併爲各個開發人員定製了不同的設置。如果您的公司恰好在「中央」位置有開發模式數據庫,則可能可以將您的設置配置爲使用該設置,而不必將其設置在您自己的盒子上。

請特別注意「測試」數據庫設置,因爲每次測試運行時,數據庫都會被破壞並重新創建。

接下來,運行「bundle install」並確保所有gem安裝無誤。安裝完所有gem後,您可能只需加載rails控制檯以確保環境正確初始化。接下來,嘗試通過'rake test'或'rake spec'來運行測試套件。

希望一旦這一切都在運行,您將能夠通過控制檯中的'rails s'啓動本地服務器,並將您的瀏覽器指向localhost:3000。如果項目使用其他服務(如memcached,redis或foreman),則可能需要爲這些事情做額外的設置。

您可能還想閱讀how Thoughtbot handles this,以及有關使用流浪漢的評論。

+0

+1流浪漢。如果你必須維護多個項目,流浪者是一個令人難以置信的工具。特別是一旦你開始使用配置器,比如Puppet。 – clang1234 2013-02-08 22:31:13

+0

感謝您的信息。我終於弄清楚了。 – rsnyder 2013-02-12 05:58:07

+0

我能夠獲得正在運行的應用程序之一的本地環境。但在另一個應用程序中,我正在/ config文件夾中查找文件'database.yml mongoid.yml cucumber.yml'我如何確定哪些文件正在做什麼? – rsnyder 2013-02-20 01:03:29