我有一家小公司向客戶銷售網站解決方案。這些網站服務於相同的目的;允許客戶發送和安排SMS消息。爲多個客戶部署/管理網站
每個網站都略有不同。例如,1個站點具有地址詳細信息和組名等強制性信息,而另一個站點具有不同的要求,例如記錄用戶的IP地址,但不需要任何地址詳細信息。
所有的網站都是使用LINQ TO SQL構建的,只是網站而不是網絡應用程序。
每個網站在我的服務器上都有自己的數據庫。
每個網站都使用exe來發送消息。該exe是相同的exe文件,但每個網站都有自己的複製和調度程序位於站點的bin目錄中,並使用Windows計劃任務解僱。
每個網站使用相同的Web服務與發送消息並返回響應的中央服務器進行通信。
客戶可以更改ASPX頁面,但不能更改背後的代碼。
目前,我有我的開發機器上的文件結構,上面寫着這樣的:
Client1Dev Client1_Published
Client2Dev Client2_Published
...等
另外,還有輪詢應用程序(一個Windows控制檯應用程序)
當我進行更改時,我將客戶端站點發布到其已發佈的目錄,然後將bin目錄中的DLL複製到生產服務器。
我的問題真的是你會怎麼做管理這些東西?如果客戶端1想要更改,我將更改到開發站點,複製到發佈,然後FTP到生產。
建立新的網站時,這是一場噩夢,因爲在不同的客戶項目中可能會有變化,這對於新客戶可能是有用的。
如果我發現一個錯誤,它是一個真正的噩夢,因爲我需要將所有站點一個一個地更新,以確保錯誤修復不會中斷特定項目。
對此有何建議?
CMS方法的問題在於變化是功能性的而不是簡單的表象。 例如,1客戶需要拿一個手機號碼,然後發送一個文本到該號碼來驗證身份,儘管另一個網站沒有。 是否有任何有關如何使用SVN分支的好視頻或一般文檔? – Paul 2009-06-23 15:51:00