便宜和簡單的答案:
1)點staging.domainname.com在您的VPS。
2)添加虛擬主機進行分段,指向應用程序的臨時副本。
3)添加登臺環境設置。 (你知道你可以在Rails中定義新的 環境嗎?有趣的東西!)我認爲這很簡單,只需將production.rb複製到staging.rb並根據需要調整,再加上更新database.yml即可。
4)在ActionController的,在代碼中添加類似以下
if (ENV["RAILS_ENV"] == "staging")
before_filter :verifies_admin
end
哪裏verifies_admin
可以是你想要的任何東西。我建議使用HTTP基本認證 - 便宜和容易。
def verifies_admin
authenticate_or_request_with_http_basic do |username, password|
username == "foo" && password == "bar"
end
end
注意,這可能博克,如果他們正在入站請求你,雖然這是很簡單的解決您的連接到支付網站(只關閉的before_filter爲適當的控制器和/或行動。)
更好的答案:
1)購買來自同一圖像設置爲你的常規VPS第二VPS,和/或同一安裝-來自該裸機腳本(我配置像Capistrano &爲此折舊)。
2)將staging.domainname.com指向它。
3)否則它與其他選項相同。
事情要考慮:
1)如果我有一個臨時數據庫呢?可能,尤其是如果你要測試模式更改。
2)我是否應該有一些設備來在分段和生產系統之間移動數據?
3)我的臨時應用程序發生災難性故障會導致主應用程序失效嗎?最好的希望答案是否定的。
非常感謝 - 我澄清了誰會需要它。這只是我,但它也需要與第三方支付網站進行溝通。 – fig 2009-02-19 15:09:08
這應該可以正常工作。您可以配置VMWare機器以訪問互聯網。 – scottd 2009-02-19 15:24:23