2013-10-16 62 views
0

我們有一個部署在兩臺服務器上的Rails應用程序。一臺服務器使用master分支,而另一臺使用staging分支。我們在內部使用staging來測試應用程序,然後我們將它與master和deploy進行合併。如何在同一個項目的不同分支上維護不同的production.rb文件?

staging分支在主分支的config/production.rb中有不同的電子郵件設置。我怎樣才能爲每個分支維護不同的production.rb /電子郵件設置,同時還合併了其他所有內容?

將文件添加到.gitignore會將其從回購中拉出,所以這不是一個選項。

回答

2

創建另一個名爲staging的環境。

其他選項是將環境文件放在服務器上的共享文件夾中,並在部署時鏈接到它。

+0

+1用於創建臨時環境。你應該這樣做。 – MrTheWalrus

+0

我不得不提出這個建議。 Rails環境應該用於Rails框架配置,而不是自定義應用配置。如果您試圖將生產環境模擬爲「暫存」框,那麼應該在'RAILS_ENV = production'下運行該應用程序。 對於實況製作和「分段」之間的應用程序特定差異,請將自己的ENV變量或其他標誌用於應用程序級別配置。 – cpjolicoeur

1

不要把這些設置放到production.rb中。在config/initializers/email.rb(或類似的東西)中使用初始化文件來設置這些初始設置,基於Rails.env

相關問題