我在哪裏工作,我們每天晚上都會向系統發佈錯誤修復,當我們知道我們的客戶沒有使用該系統時。如何在運行該Web應用程序時將應用程序部署到IIS
試圖向更好的服務邁進一步我想在應用程序運行時部署到IIS。
想到的解決方案是設置兩個不同的IIS應用程序,並在使用腳本進行部署後切換它們。但我不會嘗試這一點,因爲我們在繁忙的工作時間內不需要任何複雜的工作。
有沒有人有這方面的部署經驗?
感謝
我在哪裏工作,我們每天晚上都會向系統發佈錯誤修復,當我們知道我們的客戶沒有使用該系統時。如何在運行該Web應用程序時將應用程序部署到IIS
試圖向更好的服務邁進一步我想在應用程序運行時部署到IIS。
想到的解決方案是設置兩個不同的IIS應用程序,並在使用腳本進行部署後切換它們。但我不會嘗試這一點,因爲我們在繁忙的工作時間內不需要任何複雜的工作。
有沒有人有這方面的部署經驗?
感謝
不管你使用PHP,ASP,ASP.NET等有IIS上部署事務沒有原生支持。
最簡單的方法是將有兩個物理文件夾和(可選的兩個網站 - 一個生產,一個測試)在Web服務器上,例如:
c:\websites\myapp\dep1 c:\websites\myapp\dep2
開始時,您的網站將有它的物理路徑指向c:\websites\myapp\dep1
。
當您部署最新版本時,您將部署到c:\websites\myapp\dep2
。完成後,只需將生產站點的物理路徑切換到該文件夾即可。這意味着,如果新代碼因任何原因失敗,您仍然擁有原始網站並可以回退原來的網站。
下次您執行部署時,您將部署到c:\websites\myapp\dep1
,完成後將生產站點切換到該文件夾。
您可以選擇將測試站點指向您正在部署的文件夾,以便在切換生產站點之前確保站點正常工作。
這可能都是腳本。
下面是一些相關的閱讀,可能會感興趣:
Publishing/uploading new DLL to IIS: website goes down whilst uploading
Is smooth deployment possible with componentized ASP.NET MVC apps?
羅布科納也有一個很好的博客文章對缺乏ASP一個體面的部署故事.NET應用程序。你應該採取拖網通過評論其中一些是非常有見地:
這一戰略,在腳本PowerShell和使用ARR:https://github.com/ yosoyadri/IIS-ARR-Zero-Downtime/blob/master/DeployLocalFarm.ps1 – Yosoyadri 2013-03-04 11:13:22
@Adrian不錯。值得注意的是,Get-NetIPAddress和New-NetIPAddress cmd-let只能在Windows 8/2012中使用。 – Kev 2013-03-04 11:56:11
謝謝@Kev,我沒有意識到這一點。在將腳本放在一起來創建農場,節點,IPS和所有需要的設置之前,我放棄了。雖然所有的功能都在那裏 - 如果有人想冒險並做到這一點 - 腳本中的Deploy功能並不依賴於它們中的任何一種,並且可以在早期版本的Windows上運行,而是假定以前已經設置了所需功能,手動或通過腳本。 – Yosoyadri 2013-03-04 18:23:55