2013-12-20 104 views
2

不太清楚如何實現此目的,或者完全可能嗎?我目前在IIS中定義了兩個網站。使用腳本的IIS切換路徑

  • MySite_Production
  • MySite_Staging

這些網站摸出兩個物理文件夾的C盤上。

  • MySite_SlotA
  • MySite_SlotB

我使用的Web部署從Visual Studio 2012來推動任何新的部署,以MySite_Staging,這讓我們說正在運行的MySite_SlotA。當我進行一些粗略檢查時,我停止MySite_Staging然後我進入MySite_Production並將路徑更改爲MySite_SlotA。這與我可以在單個Web服務器上進行部署過程一樣無縫。

我的問題是,我可以寫一些類型的Powershell腳本或bat文件來切換路徑嗎?我對Powershell不太瞭解,但是如果它有可能實現這個例程的自動化,我們很高興看到這一點。

+0

我不確定這是否是正確的方法。也許最好是考慮一個將登臺文件移動到生產文件夾的腳本,而不是IIS在指向登臺文件夾後一旦開心。更改路徑後,生產文件夾會發生什麼變化。你如何做備份或清理生產。 –

+0

將登臺文件移動到生產文件夾將破壞正在運行的實例,併爲使用該站點的用戶拋出錯誤,直到腳本移動所有文件。當我改變從slotA到slotB的路徑時,我保持slotA不變,所以如果出現任何問題,我可以回滾。 – QFDev

+0

切換會對現有用戶造成類似的問題,但這是一個不同的爭論。 –

回答

0

我知道這是一個necromancy恢復這一點,但我只是有一些類似的需要PowerShell來改變iis中的web應用程序的物理路徑。 有一個很好的單行程,你可以使用(技術上2,因爲你需要導入一個庫)。

Import WebAdministration 
Set-ItemProperty 'IIS:\Sites\Default Web Site' -Name PhysicalPath -Value C:\Deploy\MyAwesomeWebsitePhysicalPath 

很顯然,你需要改變Default Web SiteC:\Deploy\MyAwesomeWebsitePhysicalPath到任何適合您的情況。