2009-08-17 48 views
0

好的,道歉,如果這已被問及和/或回答,但我正在努力找到正確的情況下我正在調查的問題,因爲正確的術語很難順道!C#Web服務部署版本回滾/刪除

如果因爲任何原因導致發佈失敗,我的任務是爲我們的部署尋找回滾解決方案。除了嚴格構建我們的源代碼控制外,如果發佈失敗,從SVN獲取以前的版本並重新發布到Live Server有沒有更好的快速解決方案?

是否有任何快速和合適的方式回滾到以前發佈的版本? 我現在主要關注Web服務,因爲這些服務都是面向前端的,任何問題都可能會給客戶帶來問題,並且需要儘快修復。

請不要猶豫,提供任何建議和意見,因爲我渴望聽到任何和所有的想法。

在此先感謝!

回答

1

爲什麼不把舊的目錄複製到備份目錄中。 如果部署失敗,則只需將其從備份目錄複製回來即可。 應該很容易做一個小批量腳本或可能nant更好的配置possibleillites

+0

我在想這個,但不確定這是否會導致IIS併發症,甚至添加文件/重命名和替換文件導致併發症。我會進一步研究這一點。 – 2009-08-17 11:49:58

+0

沒有併發症afaik 唯一要小心的是目錄授權,複製後必須重新應用 – nWorx 2009-08-17 12:25:25

+0

經過一些廣泛的測試之後,這似乎可以有效地工作而沒有任何錯誤。如果我遇到任何問題,我會更新這個。 – 2009-08-17 15:02:36

0

我一直爲我的WCF服務創建一個安裝程序。我只能假設這將適用於ASMX服務。

如果您之前還沒有創建安裝程序,則會出現一條學習曲線。我只看過這個:http://aspalliance.com/622,但它看起來非常接近我所做的。讓我知道你的想法。

0

只是一個想法,但你有沒有考慮過並排運行版本?

IE:您在不同的URL下部署新版本,然後讓客戶在分階段過程中切換到此版本?

這允許您以更細粒度的方式控制交換機,而不是全部或全部步驟。這也意味着,如果您的Web服務界面已經改變了客戶,那麼老版本的客戶端可以繼續在舊版本中運行。

如果您還在部署依賴於服務的客戶端軟件,那麼您可能希望讓舊客戶端繼續工作在舊版本上,直到客戶端升級。