2013-11-27 32 views
0

如何使用Rails 4創建測試網站?Rails:創建一個不是本地的測試網站

我正在構建一個Rails 4應用程序。我在當地發展,有一個github回購,並有一個現場製作的Heroku網站。

現在我想要一個位於網絡上的'測試'或'開發'網站,因此所有使用該應用程序的員工即使在推出之前也能看到功能。

這聽起來像一個標準的足夠的問題,我懷疑的Rails有內建的方法,利用了「開發」,「測試和‘生產’環境變量的

+1

創建另外2個Heroku項目,專門用於「測試」和「開發」 –

+0

聽起來像是你想要一個'暫存'環境。 – sevenseacat

回答

2

我更喜歡使用標準的Git機制來控制流動在我們開發這真的幫助我們的web應用程序,我們有一個合理規模的團隊,我們做的是:

  1. 創建一個功能分支(像git-flow這樣的工具可以幫助您保持團隊的標準)
  2. 完成後,我們推送到我們的git remote,創建一個pull request,並且有人檢查貢獻。一旦這些變化是好的,他們就會融入主人。
  3. 作爲持續集成的一部分(在我們的規範成功運行之後),我們有一個簡單的Jenkins作業,將重新裝訂到適當的分支並推送到遠程。

每個人都有自己的流程,但是您可以使用您的主分支作爲開發,然後當您準備好合併/重新綁定到其他環境分支時。

在您的目的地Rails平臺(在我的案例Ninefold,因爲它很容易),選擇分支和部署。在Ninefold上,只要您推送到您的分支,您的應用程序就會通過Post-receive hook重新部署。

我們通過傳遞RAILS_ENV = staging/RAILS_ENV = production來配置應用程序的環境,並確保您具有適合您的環境的所有相關設置的適當(環境).rb文件。

+0

+1,因爲即使這不是一個以Heroku爲中心的答案(一旦你使用Heroku,你學會了不要與他們對抗),它帶來了CI,這最終是一種穩定的長期合作方式,長期分期制度。 Heroku有一些可用的CI附加組件,但我不確定是否有臨時服務器組件,或者它們只是一個部署過濾器(如果單元測試失敗,則不要部署)。 – jm0