2011-08-19 247 views
2

我使用Publish/Web Deploy從Visual Studio 2010部署了一個asp.net應用程序。它的工作原理完美,但存在問題。如果新版本沒有按預期工作,則舊版本已被新版本取代,並且沒有簡單的方法可以回滾到正常工作版本。這最好的解決方法是什麼?我希望可以將舊版本保留在服務器上,以便在需要時切換回來。Visual Studio 2010發佈/ web部署問題

回答

2

有了WebDeploy,沒有內置的回滾功能,所以一旦你部署了它就是了。

有一些手卷策略,你可以到位,例如:

限制訪問例如共享主機:

如果你沒有完全進入機器 -

  1. 事先備份活動站點下載該程序。

  2. 讓你部署什麼的副本,這樣你可以把以前的版本應該什麼破

完全訪問:

維護兩套文件夾的應用程序和網站映射到其中一個或其他文件夾。當您開始部署時,將IIS站點的物理路徑切換到其他文件夾,然後部署。如果該網站失敗,則只需將該網站敲回原始文件夾。每個成功的部署將在這兩個文件夾之間交替。

對於像用戶上傳的內容那樣的東西,您需要將虛擬目錄映射到文件系統上始終是相同位置的地方,因爲您不希望每次都複製這些內容。

你不是唯一遇到這些問題的人。看看Rob Conery撰寫的這篇文章以及他對有關ASP.NET部署事務狀況的看法。

ASP.NET Deployment Needs To Be Fixed

Getting Constructive On ASP.NET Deployment

+0

謝謝。這就像我之前做過的那樣(手動部署時)。我希望有一種方法可以使創建備份/複製步驟自動化。 – rgullhaug

+0

@rgull - 除非你腳本整個構建和部署,然後沒有任何內置的給你即時回滾功能。 – Kev

0

使用某種形式的源控制的將是另一種選擇。我們使用顛覆,所以如果發佈不好,我們可以更新回最後一個好版本,併發布它。即使你是唯一的開發者,使用源代碼控制也是非常有用的。