以往在部署網站的時候都有許多手動的步驟需介入,對於許多對 IIS / SQL 不太熟悉的新手來說部署網站變成一件非常困難且危險的事。這次 Visual Studio 2010 對於 ASP.NET 網站部署的能力大大的提升,它透過 Web Deploy API 直接與 IIS 溝通,可在發行的同時除了將網站安裝進 IIS 之外,還可以設定目錄權限、變更 web.config 內容、建立應用程式、應用程式集區、IIS 細部設定、安裝組件進 GAC、安裝憑證、設定機碼、建立資料庫、…. 等,非常強大的部署機制且與 IIS7 完美整合。
備註:我指的危險是指資安方面的風險,因為設定不成功就會開始亂設權限,例如:將目錄設定成 Everyone 可讀寫 等等。
Visual Studio 2010 更提供了 [ Web 單鍵發行 ] 工具列,在設定好「發行設定檔」之後就可以真的用「單鍵」將網站安裝或更新完成,非常的神奇且好用,以下就是使用的方式。
要使用 Visual Studio 2010 Web 單鍵發行功能,必須先在 IIS 所在主機安裝 Web Deployment Tool,然後在進一步設定才能透過 Microsoft Web Deployment Tool (MsDeploy) 發行/部署網站。
若要透過 IIS 管理服務 ( IIS Web Management Service ) (WMSvc) 部署至本機 IIS7,則還必須先安裝「IIS 管理服務」才能使用。
Windows 7 需透過 [ 開啟或關閉 Windows 功能 ] 安裝「IIS 管理服務」
Windows Server 2008 需透過 [ 網頁伺服器(IIS) ] 安裝「管理服務」這個角色服務
若要啟用「遠端部署」則還必須啟用 Web Deployment Agent Service 服務才能正常運作。
IIS7
若在 Windows 7 使用 Web Platform Installer 預設不會安裝 Web Deployment Agent Service,你必須手動安裝 MSI 檔的方式才會安裝進去,安裝步驟請參見 Installing Web Deploy 說明。
IIS6
接著我們來到 Visual Studio 2010 設定 [ Web 發行 ] 的「發行設定檔」( 記得先開啟網站專案才能用 )
如果沒看見 [ Web 單鍵發行 ] 工具列,可以在工具列的地方按下滑鼠右鍵選取 [Web 單鍵發行] 即可:
先設定一組發行的名稱
設定以下參數並按下 [儲存] 或 [發行] 按鈕:
以上參數分項說明如下:
1. 發行方法:選擇 Web 部署
2. 服務 URL:這裡的服務 URL 有 3 種格式:
- 輸入 IP 或 網址,例如:localhost 或 192.168.2.116
- 遠端部署時,網址會自動展開成 https://192.168.2.116:8172/msdeploy.axd?site=站台名稱
- 這種格式一定會要求使用 SSL 連線,如果沒有安裝 SSL 憑證的 IIS 將無法成功安裝
- 這種網址格式預設會透過 The Web Management Service (WMSvc) Handler 進行部署
- 僅 Windows Server 2008 上的 IIS7 才提供此功能
- 輸入 URL 網址,例如:http://localhost 或 http://stage.example.com
- 遠端部署時,網址會自動展開成 http://stage.example.com/MSDEPLOYAGENTSERVICE/
- 這種網址格式預設會透過 Web Deployment Agent Service 進行部署
- 輸入完整 URL 網址,例如:http://localhost/MsDeploy.axd
若要發行至本機,上述三種任何一種都可以,只要網址是 localhost 即可。
3. 網站/應用程式:這裡有特定格式:
- 在第一個斜線 ( / ) 之前代表的是 站台名稱,其 站台名稱 必須已經存在 IIS 中才能安裝
- 後面就是站台下的虛擬目錄或應用程式路徑,而 虛擬目錄或應用程式路徑 不一定要輸入。
4. 網站/應用程式:若要將安裝的網站需要轉換成「應用程式」則必須要勾選此選項。
---
發佈成功後,下次要再發佈網站就可以使用「單鍵發行」的功能了:
當你第一次發行過後,你將會發現之後的發行速度都會飛快,那是因為他只會發行更新過的檔案,非常棒吧!若要多瞭解 Web Deployment Tool 可以參考以下相關連結或我之前發表過的文章。
備註事項
相關連結