所以我有一個.net Web應用程序,我使用VS 2010「發佈」功能部署到服務器。應用程序的每個實例都有自己唯一的連接字符串,指向它自己的數據庫。大規模更新.net網絡應用程序
我有這個應用程序的80個實例。我希望能夠使用應用程序的「主」版本更新1個實例,然後自己更新其中的79個,但保留其現有的連接字符串。
實現此目標的最常見/標準方法是什麼?
所以我有一個.net Web應用程序,我使用VS 2010「發佈」功能部署到服務器。應用程序的每個實例都有自己唯一的連接字符串,指向它自己的數據庫。大規模更新.net網絡應用程序
我有這個應用程序的80個實例。我希望能夠使用應用程序的「主」版本更新1個實例,然後自己更新其中的79個,但保留其現有的連接字符串。
實現此目標的最常見/標準方法是什麼?
有一些簡單的部署工具,可以在保持自定義配置的同時處理多個服務器上的應對二進制包。 KwateeSDCM是一個免費的工具,可以做到這一點。你可以看看它在新鮮肉類
(我似乎無法迴應您的評論,所以我編輯了我的答案) 肯 - 是的,文檔是非常苗條。他們有一個實際上更有用的視頻教程,我也從他們的開發人員那裏得到了一些指示。老實說,我不太瞭解asp.net,但從你所描述的內容來看,它與我在我的30臺服務器上使用我的tomcat Web應用程序(戰爭)設置的內容非常相似。您可以定義一個「包」,它只是一個需要部署的文件/可執行文件的壓縮文件(配方),配置目標服務器,然後告訴sdcm哪個包放在哪個服務器上。有一種環境變量的概念,您可以在配置文件中使用(在您的情況下,%{connection_string})的佔位符在安裝時會替換爲您在sdcm配置中指定的特定於服務器的值。通過大約半天的工作,我設法配置kwateesdcm,這樣只需單擊一下,它就可以連接到每臺服務器,停止tomcat,複製我的存檔,在需要時擴展它們,替換服務器特定的參數,並重新啓動tomcat以獲取所有變化考慮在內。最酷的是,sdcm還可以歸檔以前的檔案/配置,這樣它就會從更新中承受很大的壓力,因爲如果我最新的東西出現問題,我可以快速恢復到以前的穩定版本。令人討厭的是它需要在每臺目標服務器上安裝一個ssh服務器。我通過在我的服務器上安裝winsshd來解決這個問題
嗨Macolm - 所以我檢查了KwateeSDCM的網站,但是我看不到有關asp.net的任何信息,而且文檔非常渺茫。你有沒有用這個與asp.net應用程序? – kaes 2011-04-28 17:27:26
簡單的xcopy或powershell腳本應該可以做到這一點。 – 2011-04-27 23:07:39
@amit_g我不認爲xcopy是如此強大。 – Aristos 2011-04-27 23:14:56
應該已經更清楚了 - 從dos批處理xcopy。 – 2011-04-27 23:17:32