使用 Web 部署工具
由 Tali Smith
簡介
Microsoft® Web 部署工具可簡化 網際網路資訊服務 (IIS) Web 伺服器、Web 應用程式和網站的移轉、管理和部署。 管理員 istrators 可以使用命令行腳本搭配 Web 部署工具來同步處理 IIS 6.0 和 IIS 7 和更新版本伺服器,或將 IIS 6.0 伺服器移轉至 IIS 7 或更新版本。 Web 部署工具也可讓系統管理員和委派的使用者使用 IIS 管理員,將 Microsoft® ASP.NET 和 PHP 應用程式部署到 IIS 7 和更新版本伺服器。
使用 Web 部署工具,您可以:
- 在 IIS 6.0 和 IIS 7 和更新版本 之間移轉 Web 應用程式 - 藉由判斷不相容和預覽建議的變更,再開始程式之前,簡化 IIS 6.0 至 IIS 7 和更新版本的移轉規劃。 事先瞭解任何潛在問題,可讓您有機會採取矯正措施並簡化移轉。
- 同步處理您的伺服器陣列 - Web 部署工具可讓您透過偵測來源和目的地內容之間的差異,並只傳輸需要同步處理的變更,以有效率地同步處理 IIS 伺服器陣列中的月臺、應用程式或伺服器。 此工具可藉由自動判斷要針對特定月臺同步處理的組態、內容和憑證,來簡化同步處理程式。 除了預設行為之外,您仍然可以選擇指定同步處理的其他提供者,包括資料庫、元件物件模型 (COM) 物件、全域程式集緩存 (GAC) 元件和登錄設定。
- 封裝、封存及部署 Web 應用程式 - 您可以使用 Web 部署工具來封裝已安裝 Web 應用程式的組態和內容,包括資料庫,以及使用套件進行記憶體或重新部署。 這些套件可以使用 IIS 管理員來部署,而不需要系統管理許可權。 此工具與 Microsoft® Visual Studio® 2010 整合,可協助開發人員簡化 Web 應用程式的部署至 Web 伺服器。
下載並安裝 Web 部署工具
Web 部署工具是一種 Managed 程式代碼架構,其中包含公用應用程式開發介面(API)和基礎引擎。 (這是最上層節點,無法移除。
- IIS 管理員 UI 模組 – UI 模組 可讓使用者執行部署工作的子集,主要是封裝或部署網站或應用程式。 此模組需要安裝 IIS 7 或更新版本,或 IIS 遠端管理員。
- 遠端代理程式服務 – 以 HTTP/HTTPS 為基礎的僅限系統管理員服務,可讓伺服器管理員連線並執行遠端作業。
- IIS 部署處理程式 – 與 Web Management Service (WMSvc) 整合的處理程式 ,可讓非系統管理員或系統管理員執行遠端作業。 此處理程式需要使用 WMSvc 安裝 IIS。
選擇安裝選項
安裝 Web 部署工具之前,請先決定要使用遠端服務在兩部伺服器之間執行即時作業,還是偏好使用離線模式。
- 遠端服務預設不會啟動,且設定為 [手動啟動]。 只有在作業期間才需要它執行,而且在不使用時可以停止。
- 離線模式只是在沒有服務的情況下安裝工具。 您必須建立月臺或伺服器的本機複本,然後手動將此「快照集」或封存複製到目的地。
請注意,您只需要在來源或目的地上安裝遠端服務。 例如,若要將伺服器的所有內容「推送」到用戶端,您可以在所有用戶端電腦上安裝遠端服務,以便從來源推送內容。 或者,您可以讓每個用戶端從伺服器「提取」,而且只會在來源上安裝遠端服務。
使用預設遠端服務 URL 安裝工具
執行 Windows®Installer 檔案以安裝此工具。
選取 [自定義安裝]。
按兩下遠端服務節點以安裝遠端服務。
完成安裝。
執行下列命令以手動啟動服務:
net start msdepsvc
確定防火牆中已開啟埠 80。
使用自訂遠端服務 URL 安裝工具
在 Windows Server 2008 上開啟系統管理命令提示字元,或在 Windows Server®® 2003 上開啟命令提示字元。
移至安裝程式檔案所在的目錄。
執行下列命令(自訂埠和網址規格):
msiexec /i <msi_filename> /passive ADDLOCAL=ALL LISTENURL=http://+:8080/MSDEPLOY2/
執行下列命令以手動啟動服務:
net start msdepsvc
請確定您選擇的埠已在防火牆中開啟。
此工具會安裝到 %programfiles%\IIS\Microsoft Web Deploy。 這無法變更。
安裝後啟動遠端服務
遠端服務預設會接聽 HTTP://+/msdeployagentservice/,或在您執行自定義安裝時所指定的 URL。
您現在應該會啟動遠端服務。 您可以移至 [啟動>執行],然後輸入 services.msc 來執行此動作。 此服務會列為 Microsoft Web 部署代理程式服務。
服務啟動預設為Manual;您可以將啟動設定為 Services.msc 中的 [自動]。 您也可以使用命令行工具Sc.exe,將啟動設定為 [自動]。
知識庫文章提供Sc.exe的詳細資訊。
使用 Web 伺服器陣列的 Web 部署工具
Web 部署工具可用來將新的應用程式部署至 Web 伺服器陣列,或讓 Web 伺服器數位伺服器之間的變更保持同步。 Web 部署工具目前不支援伺服器數位中伺服器清單的中央 UI 或組態存放區(例如,一次同步處理多部電腦),但您可以只儲存此伺服器清單,並針對每部伺服器執行同步處理作業。 您可以使用 Microsoft® System Center 或其他排程機制,輕鬆地排程這些同步處理作業。 可同步處理的資源包括網站或應用程式、內容資料夾和檔案、資料庫、登錄機碼,以及 GAC 中的元件等等。 您也可以建置自定義的「提供者」,以瞭解不支援的其他資源類型。 如需詳細資訊,請參閱 使用 Web 伺服器陣列的 Web 部署工具。
使用 Web 部署工具封裝及部署應用程式
如需使用 Web 部署工具封裝和部署應用程式的相關信息,請參閱下列文章。
- 透過 IIS 管理員匯出套件。
- 透過 IIS 管理員匯入套件。
- 設定 Web 部署處理程式。
- 在 Visual Studio 中匯入發佈設定
從 IIS 6.0 移轉至 IIS 7 或更新版本
您可以使用 Web 部署工具來移轉:
- 從 1 或 1,000 個網站從 IIS 6.0 到 IIS 7 或更新版本,包括所有組態設定、內容和憑證。
- 單一應用程式。
- 從 IIS 6.0 到 IIS 7 或更新版本的完整伺服器(包括所有網站和應用程式集區)。
- 自定義指令清單,其中包含從 IIS 6.0 到 IIS 7 或更新版本的網站、應用程式集區、元件、COM 物件、登錄機碼和內容。
如需指示,請參閱 從 IIS 6.0 移轉至 IIS 7 和更新版本。
同步處理網頁伺服器
您可以使用 Web 部署工具,將網站從來源同步處理到 IIS 6.0 或 IIS 7 或更新版本上的目的地。 您可以將數據「推送」至遠端目的地,或透過從遠端來源「提取」數據來執行此動作。 您也可以使用套件(壓縮檔案)來避免安裝遠端服務。 如需詳細資訊,請參閱下列文章:
Web 部署工具的功能
下列資訊是 Web 部署工具功能的廣泛清單:
與 IIS 管理員和 Visual Studio 2010 介面緊密整合,以建立套件並將其部署至本機和遠端電腦。
Web 應用程式封裝:
- 可以封裝 Web 應用程式或整個網站,包括相關聯的資料庫。
- 可以封裝訪問控制清單(ACL)、COM、GAC 和登錄設定。
- 支援即時伺服器和壓縮套件作為來源或目的地。
Web 應用程式部署:
- 部署 Web 應用程式不需要 管理員 許可權。
- 可以新增強大的參數,以在部署檔案時變更文字(例如在從品質保證部署到預備環境時提示取代 連接字串)。
- 與非系統管理員進行遠端部署的 IIS Web Management Service(WMSvc) 整合。
- 伺服器管理員對可執行的作業有細微的控制,而且可以將工作委派給非系統管理員。
Web 伺服器移轉與同步處理:
- 可以同步處理或移轉整個 Web 伺服器、網站或應用程式。
- 只同步處理已變更的數據。
- 可以在同步處理期間偵測遺漏的相依性。
- 當您同步處理網站時,自動收集內容、IIS 設定、安全套接字層 (SSL) 憑證,以及 ASP.NET 組態。
除了使用 IIS 管理員和 Visual Studio 10 之外,也可以使用命令行、Windows PowerShell™ Cmdlet 或公用 API 來執行工作。
注意
本文基於:2009 年 9 月 1 日出版的 Faith Allington 的《安裝 Web 部署工具》的材料。
進一步信息的連結
- Web 部署工具概觀。
- 影片廣播:Microsoft Web 平臺上的簡化應用程式部署。
- Web 部署工具。
- Microsoft Web 部署小組部落格。