開發時,我的團隊顯然使用development
作爲我們的環境。Rails應用程序,持續集成/部署環境
當我們運行自動測試時,我們使用testing
。
我們還有staging
和production
環境,分別用於我們的測試人員檢查功能和最終「現場」產品。
我們正在嘗試設置內部CI服務器來運行我們的自動化測試,並最終幫助自動部署。
由於CI服務器確實在運行自動化測試,有人認爲它應該在testing
環境中運行。但是,爲了使CI服務器真正有用,我的想法是,它需要在production
模式下運行,儘可能接近實際的production
環境的鏡像(顯然不涉及生產數據庫)。
是否有一個可以接受的環境,應該在CI服務器下執行? production
環境(不同的DB)似乎是唯一符合邏輯的答案給我,但我可能失去了一些東西......
我不打算讓CI在與生產相同的物理硬件上運行,而只是在相同的環境下(相同的DB版本,操作系統版本等)。我衷心地同意將所有內容扔到prod服務器上是一個壞主意。我遇到了Rails代碼在開發/測試中效果很好的問題,但是在分段/生產中完全相同的代碼失敗,因爲Rails在這些環境中以緩存/預加載文件的方式做了不同的事情。我認爲最好的解決方案是儘可能模仿生產環境,而不是在同一個物理硬件上。 – 2014-10-09 17:26:11