共用方式為


逐步解說:使用 Web 部署套件部署 Web 應用程式專案 (第 4 部分,共 4 部分)

這是一系列逐步解說中的第四個,內容說明如何使用 Web 部署套件來部署 Web 應用程式專案。 如需這些系列的詳細資訊,請參閱逐步解說:使用 Web 部署套件部署 Web 應用程式專案 (第 1 部分,共 4 部分)

在這個逐步解說中,您會使用在第三個逐步解說中建立的套件,以便在遠端電腦上安裝 Web 應用程式。 這個逐步解說將說明下列工作:

  • 使用 deploy.cmd 檔案,在遠端電腦上安裝套件。

  • 針對您想要在安裝套件時變更的組態值使用自訂部署參數。

必要條件

如需必要條件的清單,請參閱逐步解說:使用 Web 部署套件部署 Web 應用程式專案 (第 1 部分,共 4 部分)

準備目的伺服器

如果其他人正在為您設定目的伺服器,進行設定的人員將會指定您必須使用的部署方法。 如果您正在設定目的伺服器,就必須選取一種方法。 可用的方法如下:

  • Web 管理服務 (WMSvc) 和 Web 部署處理常式。

  • Web 部署代理程式服務 (MsDepSvc)。

  • Web 部署 tempAgent 提供者設定。

如需這些方法的詳細資訊,或是如何將目的伺服器設定為使用其中一種方法的詳細資訊,請參閱 HOW TO:使用 deploy.cmd 檔案安裝部署套件

除了針對您所選取的部署方法進行設定以外,目的伺服器還必須具有下列項目:

  • 啟用 IIS 7。

  • 已向 IIS 7 註冊的 ASP.NET 4。

  • 指派給預設網站的 ASP.NET 4 應用程式集區。

您應該先設定目的伺服器,然後再繼續進行這個逐步解說。

設定部署參數

在下列程序中,您會確定 SetParameters.xml 檔案包含正確的值。 這就相當於在您使用 IIS 管理員來安裝套件時,驗證或變更顯示在 [輸入應用程式封裝資訊] 對話方塊中顯示的參數值。

若要修改 SetParamters.xml 檔案

  1. 開啟您在本系列第一個逐步解說中建立的 Web 應用程式專案。

  2. 在 [方案總管] 中,依序展開 obj 資料夾、Release 資料夾和 Package 資料夾 (在先前的逐步解說中,您已開啟 Debug 資料夾。 請確定您目前正在使用 Release 資料夾,而非 Debug 資料夾)。

  3. 開啟 AdventureWorks.SetParameters.xml。

    此檔案中的 XML 與下列範例很相似:

    <parameters>
      <setParameter name="IIS Web Application Name" 
        value="Default Web Site/AdventureWorks" /> 
      <setParameter name="machineKey" value="staging" /> 
      <setParameter name="ApplicationServices-Deployment Connection String"
        value="... " /> 
      <setParameter name="AWLTConnectionString-Deployment Connection String"
        value="..." /> 
      <setParameter name="ApplicationServices-Web.config Connection String" 
        value="..." /> 
      <setParameter name="AWLTConnectionString-Web.config Connection String" 
        value="..." /> 
    </parameters>
    

    請注意 name 屬性值為 machineKey 的 setParameter 項目。 這個 setParameter 項目的 value 屬性為 staging,也就是您在本系列第三個逐步解說中針對部署至開發用伺服器所設定的預設值。 如果您準備要將套件安裝在實際執行伺服器上,就可以針對 machineKey 參數,將這個 setParameter 項目的 value 屬性變更為實際執行值。 然後,已部署的 Web.config 檔案就會更新為包含實際執行值,而非開發用的值。

準備使用 Deploy.cmd 檔案進行遠端安裝

在下列程序中,您會開啟命令提示字元並瀏覽至包含 deploy.cmd 檔案的資料夾,藉以準備執行 deploy.cmd 檔案。

若要準備使用 Deploy.cmd 檔案進行遠端安裝

  1. 在 [方案總管] 中,選取 AdventureWorks.SetParameters.xml 檔案。

  2. 在 [屬性] 視窗中,記下 [完整路徑] 屬性的值。

  3. 在 Windows 的 [開始] 功能表中,按一下 [命令提示字元]。

  4. 瀏覽至包含 AdventureWorks.SetParameters.xml 檔案的資料夾。

    此時,[命令提示字元] 視窗便可讓您輸入執行 deploy.cmd 檔案的命令。

deploy.cmd 檔案的語法會因您所使用的部署方法而異。 請使用適用於您所選擇之方法的程序。

下列各節中的語法範例會包含下列預留位置:

  • ServerName: 請將此預留位置取代成目的伺服器的名稱。

  • UserName 和 Password: 如果適用的話,請將這些預留位置取代成已經針對部署設定的實際認證。

使用 Web 部署處理常式進行遠端安裝

下列程序將說明如何使用 Web 管理服務 (WMSvc) 和 Web 部署處理常式來安裝套件。

若要使用 Web 管理服務和 Web 部署處理常式來部署

  1. 輸入下列命令,以便執行套件安裝的嘗試回合:

    AdventureWorks.deploy.cmd /t /m:https://ServerName:8172/MSDeploy.axd /u:username /p:password /a:basic
    

    若為 Web 管理服務部署,系統通常會提供用於部署的使用者帳戶給您。

    t 選項會在嘗試模式中執行命令,讓您可以在實際部署應用程式之前檢查命令的結果。

    注意事項注意事項

    在某些情況下,當您使用 t 選項時,部署可能會失敗,不過當您使用 y 選項時,部署會成功。如需詳細資訊,請參閱ASP.NET Web 應用程式專案部署常見問題集)。

  2. 如果嘗試回合的輸出並非您所預期的結果,請進行任何必要的變更。

  3. 當嘗試回合的輸出就是您所預期的結果時,請重複此命令,並將 t (嘗試) 旗標取代成 y (是) 旗標,如下列範例所示:

    AdventureWorks.deploy.cmd /y /m:https://ServerName:8172/MSDeploy.axd /u:username /p:password /a:basic
    

使用 Web 部署代理程式服務進行遠端安裝

下列程序將說明如何使用 Web 部署代理程式服務 (MsDepSvc) 來安裝套件。

若要使用 Web 部署代理程式服務來部署

  1. 輸入下列命令,以便執行套件安裝的嘗試回合:

    AdventureWorks.deploy.cmd /t /m:ServerName
    

    若為 Web 部署代理程式服務,您通常會使用 Windows 驗證,而且不會指定使用者名稱和密碼。

    t 選項會在嘗試模式中執行命令,讓您可以在實際部署應用程式之前檢查命令的結果。

    注意事項注意事項

    在某些情況下,當您使用 t 選項時,部署可能會失敗,不過當您使用 y 選項時,部署會成功。如需詳細資訊,請參閱ASP.NET Web 應用程式專案部署常見問題集)。

  2. 如果嘗試回合的輸出並非您所預期的結果,請進行任何必要的變更。

  3. 當嘗試回合的輸出就是您所預期的結果時,請重複此命令,並將 t (嘗試) 旗標取代成 y (是) 旗標,如下列範例所示:

    AdventureWorks.deploy.cmd /y /m:ServerName
    

使用 tempAgent 提供者設定進行遠端安裝

下列程序將說明如何使用 Web 部署 tempAgent 提供者設定來安裝套件。

若要使用 Web Deploy tempAgent 提供者設定來部署

  1. 輸入下列命令,以便執行套件安裝的嘗試回合:

    AdventureWorks.deploy.cmd /t /m:ServerName /g:true
    

    若為 tempAgent 提供者設定,您通常會使用 Windows 驗證,而且不會指定使用者名稱和密碼。

    t 選項會在嘗試模式中執行命令,讓您可以在實際部署應用程式之前檢查命令的結果。

    注意事項注意事項

    在某些情況下,當您使用 t 選項時,部署可能會失敗,不過當您使用 y 選項時,部署會成功。如需詳細資訊,請參閱ASP.NET Web 應用程式專案部署常見問題集)。

  2. 如果嘗試回合的輸出並非您所預期的結果,請進行任何必要的變更。

  3. 當嘗試回合的輸出就是您所預期的結果時,請重複此命令,並將 t (嘗試) 旗標取代成 y (是) 旗標,如下列範例所示:

    AdventureWorks.deploy.cmd /y /m:ServerName /g:true
    

後續步驟

在本系列的前兩個逐步解說中,您已將檔案系統 Web 應用程式專案部署至 IIS Web 應用程式,以便在開發電腦上進行測試。 在第三個逐步解說中,您已建立用於部署至開發用伺服器或實際執行伺服器的套件。 在這個逐步解說 (本系列的最後一個) 中,您已使用 Visual Studio 在建立套件時產生的 deploy.cmd 檔案,將套件部署至遠端電腦。

部署至開發用和實際執行伺服器的其他某些常見案例包括:

  • 使用相同的套件來部署至 Web 伺服陣列中的多部伺服器,並在第一次安裝之後隱藏每次安裝的資料庫部署。

  • 避免部署特定檔案 (例如 Web.config 檔案),因為這些檔案會在目的伺服器上手動更新,而且您不想要覆寫這些變更。

  • 如需如何處理這些案例的詳細資訊,請參閱 HOW TO:使用 deploy.cmd 檔案安裝部署套件

請參閱

概念

ASP.NET 部署內容對應