我們有專用的DEV,TEST,STAGE和PRODUCTION服務器。
我們也有一個專門的生成機器運行巡航控制。
巡航控制配置爲持續集成構建,該構建在簽入代碼後運行。它還配置爲單獨的開發,質量保證,階段和生產任務。
要部署到開發中,首先從SVN中檢索代碼並構建,然後將「預編譯的Web」文件夾複製到開發網站,並將Web服務項目複製到開發應用程序服務器。巡航控制還被配置爲在構建開始之前對源代碼進行「標記」,以便我們稍後可以重新構建構建,或者如果我們需要做一個熱修復,則可以從標記分支。
要部署到QA,文件將從開發機器複製到QA機器。
同樣,要部署到舞臺,將文件從QA機器複製到舞臺機器。
最後,要部署到生產環境,這些文件將再次從舞臺機器複製到生產機器。
要配置每個環境,我們有一個自定義工具,它是修改連接字符串的每個環境的巡航控制任務的一部分,「debug = true | false」,「customErrors = Off | RemoteOnly」以及其他特定於環境的設置。
因此,每個環境都可以通過巡航控制儀表板上的按鈕進行部署。
一個需要注意的是,我們目前在巡航控制配置文件中配置了生產數據庫密碼......將它移動到其他地方會很好!
最後,讓我補充一點,即使我們的生產機器在專用主機設備中,服務器也可以從我們的Cruise Control機器訪問,這使得生產部署非常容易。唯一的手動步驟是加密web.config文件並刪除Cruise Control提供的「AppOffline.html」文件。
讓我知道如果這能幫助,或者如果您有任何疑問。
謝謝!
由於我發佈了這個原始問題,我發現了WiX。它是開源的,免費的。這也是Microsoft用於開發Office 2007部署包的原因。一旦您瞭解了基本知識,使用它似乎很容易,並且該界面允許您在安裝時選擇和選擇組件。 – Hooloovoo 2009-12-03 14:29:47
只是一個更新;應用發佈自動化工具是專門爲此設計有一羣引人注目的工具在那裏尋找到我最常跨越5個專用網絡拆分工作比較https://en.wikipedia.org/wiki/Application_release_automation – 2016-06-27 20:56:19