我有一個產品和一個人們可以購買產品的前端網站。購買後,我有一個系統在我的DNS服務器上創建一個指向IP地址的A記錄。然後它創建一個具有所需綁定的新IIS網站。處理多個應用程序的部署ASP.NET
所有這一切都很好,但我現在正在考慮發展業務,爲此我需要處理應用程序的升級。
目前,我有我的應用程序運行40個網站。這是所有相同的代碼庫,每個網站使用它自己的SQL Server數據庫。每個網站都運行在一個單獨的應用程序池中,並完全獨立運行。
我已經着眼於使用TeamCity來構建應用程序,然後有一個手動步驟爲每個網站運行MSDeploy,但這不是特別理想,因爲我需要a)購買完整許可證和b)總是記得在TeamCity構建中添加一個新網站。
如何處理運行許多不同網站和單獨SQL Server數據庫的相同代碼庫的升級和部署?
我很想轉移到一個真正的多租戶環境,但每個網站都使用它自己的緩存策略(取決於客戶端),使用唯一的SQL Server數據庫和整個堆的安裝設置。把所有東西都合併爲一個真正的多租戶環境,不幸的是需要重新寫入。也許我可以使用團隊城市部署到一個位置,然後有一個自定義應用程序來部署到每個站點......我認爲無論我做什麼都會是一大堆樂趣! – Paul 2015-02-12 00:55:00
@保羅我確實感到你的痛苦伴侶。我討厭這樣說,但這聽起來像是從一開始就做出錯誤決定的結果。我仍然強烈建議你看看多租戶,它不一定涉及完整的重寫,只處理客戶端數據處理與客戶端上下文無關的數據。有一個每客戶端緩存策略,它不是一個顯示限制器,你可以在運行時使用IoC/DI模式簡單地加載一個基於當前上下文的特定緩存組件。有幾個第三paty工具在那裏爲此目的,如溫莎城堡IoC – Leo 2015-02-12 01:41:49
感謝您輸入獅子座,欣賞它。 – Paul 2015-02-18 00:20:57