共用方式為


使用 Visual Studio 來發佈雲端服務

注意

本文適用於 Azure 雲端服務 (傳統版),該服務目前針對新客戶已取代,並將於 2024 年 8 月 31 日淘汰。 使用此技術建置的現有服務仍可透過雲端服務 (延伸支援)獲得支援。。 針對新的開發,我們建議您使用專為特定用途設計的較新服務類型,例如 Azure App ServiceAzure FunctionsAzure 容器應用程式。 如需最新的可用服務清單,請參閱 Azure 產品目錄

Visual Studio 可直接將應用程式發佈至 Azure,並支援雲端服務的暫存和生產環境。 發佈時,您可以選取針對部署套件暫時要使用的部署環境及儲存體帳戶。

在開發和測試 Azure 應用程式時,可以使用 Web Deploy 以累加方式對 Web 角色發佈變更。 在將應用程式發佈至部署環境後,Web Deploy 可讓您直接將變更部署至執行 Web 角色的虛擬機器。 您不必在每次想要更新 Web 角色以測試變更時封裝和發佈整個 Azure 應用程式。 透過這個方法,即可在雲端提供 Web 角色變更來進行測試,而不必等到應用程式發佈至部署環境後才進行。

請使用下列程序來發佈 Azure 應用程式以及利用 Web Deploy 更新 Web 角色:

  • 從 Visual Studio 發佈或封裝 Azure 應用程式
  • 在開發和測試週期期間更新 Web 角色

必要條件

從 Visual Studio 發佈或封裝 Azure 應用程式

在發佈 Azure 應用程式時,可以執行下列其中一項工作:

  • 建立服務封裝:您可以使用此封裝和服務組態檔,從 Azure 入口網站將應用程式發佈至部署環境。

  • 從 Visual Studio 中發佈 Azure 專案:若要將應用程式直接發佈至 Azure,請使用 [發佈精靈]。 如需相關資訊,請參閱 發佈 Azure 應用程式精靈

從 Visual Studio 建立服務封裝

  1. 準備好發佈應用程式時,請開啟 [方案總管],開啟包含角色的 Azure 專案的捷徑功能表,然後選擇 [發佈]。

  2. 若只要建立服務封裝,請遵循下列步驟:

    1. 開啟 Azure 專案的捷徑功能表,然後選擇 [封裝]

    2. 在 [封裝 Azure 應用程式] 對話方塊中選擇要建立封裝的服務組態,然後選擇組建組態。

    3. (選擇性) 若要在發佈雲端服務後,為其開啟「遠端桌面」,請選取 [啟用所有角色的遠端桌面],然後選取 [設定] 來設定遠端桌面認證。 如需詳細資訊,請參閱使用 Visual Studio 啟用 Azure 雲端服務中角色的遠端桌面連線

      如果要在發佈後偵錯雲端服務,請選取 [啟用所有角色的遠端偵錯工具] 來開啟遠端偵錯。

    4. 若要建立封裝,請選擇 [封裝] 連結。

      [檔案總管] 會顯示新建立之封裝的檔案位置。 您可以複製這個位置,以從 Azure 入口網站使用它。

    5. 若要將此封裝發佈至部署環境,您必須在建立雲端服務時使用此位置做為封裝位置,並透過 Azure 入口網站將此封裝部署到環境中。

  3. (選用) 若要取消部署程序,請在活動記錄檔細目的捷徑功能表上,選擇 [取消並移除] 。 此命令會停止部署程序,並從 Azure 中刪除部署環境。 若要在部署後移除環境,請使用 Azure 入口網站。

在開發和測試週期期間更新 Web 角色

如果您的應用程式有穩定的後端基礎結構,但 Web 角色需要更頻繁的更新,您可以使用 Web Deploy,僅更新專案中的 Web 角色。 當您不想要重建並重新部署後端背景工作角色,或如果您有多個 Web 角色但只想要更新其中一個 Web 角色,Web Deploy 就能派上用場。

使用 Web Deploy 的需求

  • 僅用於開發和測試目的:直接對 Web 角色執行所在的虛擬機器進行變更。 如果此虛擬機器必須回收,您就會遺失變更,因為您發佈的原始封裝會用來重新建立角色的虛擬機器。 重新發佈應用程式以取得 Web 角色的最新變更。

  • 只能更新 Web 角色:無法更新背景工作角色。 此外,您無法更新 web role.cs 中的 RoleEntryPoint

  • 只能支援 Web 角色的單一執行個體:在部署環境中不能有任何 Web 角色的多個執行個體。 不過,可支援多個各只有一個執行個體的 Web 角色。

  • 啟用遠端桌面連線:此需求讓 Web Deploy 能夠使用使用者名稱和密碼來連線到虛擬機器,以將變更部署到執行 Internet Information Services (IIS) 的伺服器。 此外,您可能需要連線到虛擬機器,以將信任的憑證新增到此虛擬機器上的 IIS。 (此憑證可確保 Web Deploy 所使用的 IIS 的遠端連線安全無虞。)

下列程序假設您是使用 [發佈 Azure 應用程式] 精靈。

在發佈應用程式時啟用 Web Deploy

  1. 若要啟用 [啟用所有 Web 角色的 Web Deploy] 選項,您必須先設定遠端桌面連線。 選取 [啟用所有角色的遠端桌面],然後在出現的 [遠端桌面組態] 方塊中提供要用來進行遠端連線的認證。 請參閱使用 Visual Studio 啟用 Azure 雲端服務中角色的遠端桌面連線

  2. 若要啟用應用程式中所有 Web 角色的 Web Deploy,請選取 [啟用所有 Web 角色的 Web Deploy]

    此時會出現黃色警告三角形。 Web Deploy 預設會使用不受信任的自我簽署憑證,在上傳機密資料時不建議使用此憑證。 如果您需要確保機密資料在進行此程序時安全無虞,可以新增 SSL 憑證以用於 Web Deploy 連線。 此憑證必須是受信任的憑證。 如需詳細資訊,請參閱讓 Web Deploy 安全無虞

  3. 選擇 [下一步] 以顯示 [摘要] 畫面,然後選擇 [發佈] 部署雲端服務。

    雲端服務隨即進行發佈。 所建立的虛擬機器已啟用遠端連線的 IIS 功能,因此可以使用 Web Deploy 來更新 Web 角色,而不必重新發佈。

    注意

    如果您對 Web 角色設定了多個執行個體,則會出現警告訊息,指出在為了發佈應用程式所建立的封裝中,每個 Web 角色限制只能有一個執行個體。 選取確定以繼續。 如<需求>一節所述,您可以有多個 Web 角色,但每個角色只能有一個執行個體。

使用 Web Deploy 更新 Web 角色

  1. 若要使用 Web Deploy,請對 Visual Studio 中您想要發佈的任何 Web 角色,變更其專案的程式碼,然後在方案中的這個專案節點上按一下滑鼠右鍵,並指向 [發佈] 。 [發佈 Web] 對話方塊隨即出現。

  2. (選用) 如果您已新增受信任的 SSL 憑證以用於 IIS 的遠端連線,您可以清除 [允許未受信任的憑證] 核取方塊。 如需如何新增憑證以安全執行 Web Deploy,請參閱本文稍後的<讓 Web Deploy 安全無虞> 一節。

  3. 若要使用 Web Deploy,發佈機制需要您在首次發佈套件時,針對遠端桌面連線所設定的使用者名稱和密碼。

    1. 在 [使用者名稱] 中輸入使用者名稱。

    2. 在 [密碼] 中輸入密碼。

    3. (選用) 如果您想要將此密碼儲存在此設定檔中,請選擇 [儲存密碼]

  4. 若要發佈 Web 角色的變更,請選擇 [發佈]

    狀態列會顯示 [發佈已開始] 。 當發佈完成時,則會出現 [發佈成功] 。 現在變更已部署至虛擬機器上的 Web 角色。 您現在可以在 Azure 環境中啟動 Azure 應用程式來測試變更。

讓 Web Deploy 安全無虞

  1. Web Deploy 預設會使用不受信任的自我簽署憑證,在上傳機密資料時不建議使用此憑證。 如果您需要確保機密資料在進行此程序時安全無虞,可以新增 SSL 憑證以用於 Web Deploy 連線。 此憑證必須是從憑證授權單位 (CA) 取得的受信任憑證。

    若要讓每個 Web 角色的每個虛擬機器都能夠安全使用 Web Deploy,您必須將想要用於 Web Deploy 的受信任憑證上傳到 Azure 入口網站。 此憑證可確保在您發佈應用程式時,針對 Web 角色所建立的虛擬機器中會新增此憑證。

  2. 若要將受信任的 SSL 憑證新增至 IIS 以用於遠端連線,請遵循下列步驟:

    1. 若要連接至執行 Web 角色的虛擬機器,請在 [雲端總管] 或 [伺服器總管] 中選取 Web 角色的執行個體,然後選擇 [使用遠端桌面連接] 命令。 如需如何連線至虛擬機器的詳細步驟,請參閱使用 Visual Studio 啟用 Azure 雲端服務中角色的遠端桌面連線。 您的瀏覽器會提示您下載 .rdp 檔案。

    2. 若要新增 SSL 憑證,請開啟 IIS 管理員中的管理服務。 在 IIS 管理員中,開啟 [動作] 窗格中的 [繫結] 連結來啟用 SSL。 [新增站台繫結] 對話方塊隨即出現。 選擇 [新增],然後在 [類型] 下拉式清單中選擇 HTTPS。 在 [SSL 憑證] 清單中,選擇您已透過 CA 簽署並上傳至 Azure 入口網站的 SSL 憑證。 如需詳細資訊,請參閱 設定管理服務的連線設定

      注意

      如果您新增受信任的 SSL 憑證,[發佈精靈] 中就不會再出現黃色警告三角形。

將檔案納入服務封裝

您可能需要在服務封裝中納入特定檔案,以在為角色建立的虛擬機器上提供使用。 例如,您可以在服務封裝中加入啟動指令碼所使用的 .exe.msi 檔案。 或者您可能需要加入 Web 角色或背景工作角色專案所需的組件。 若要納入檔案,必須將檔案加入 Azure 應用程式的方案中。

  1. 若要將組件加入服務封裝中,請使用下列步驟:

    1. 在 [方案總管] 中開啟遺漏所參考組件之專案的專案節點。

    2. 若要將組件加入至專案,請開啟 [參考] 資料夾的捷徑功能表,然後選擇 [加入參考]。 [加入參考] 對話方塊隨即出現。

    3. 選擇您想要加入的參考,然後選擇 [確定]。 參考便會加入 [參考] 資料夾底下的清單。

    4. 開啟您所加入之組件的捷徑功能表,然後選擇 [屬性] 。 [屬性] 視窗隨即出現。

      若要將此組件納入服務封裝,請在 [複製本機清單] 中選擇 [True]

  2. 在 [方案總管] 中開啟遺漏所參考組件之專案的專案節點。

  3. 若要將組件加入至專案,請開啟 [參考] 資料夾的捷徑功能表,然後選擇 [加入參考]。 [加入參考] 對話方塊隨即出現。

  4. 選擇您想要加入的參考,然後選擇 [確定] 按鈕。

    參考便會加入 [參考] 資料夾底下的清單。

  5. 開啟您所加入之組件的捷徑功能表,然後選擇 [屬性] 。 [屬性] 視窗隨即出現。

  6. 若要將此組件納入服務封裝,請在 [複製本機清單] 中選擇 [True]

  7. 若要在已新增至 Web 角色專案的服務封裝中納入檔案,請開啟該檔案的捷徑功能表,然後選擇 [屬性] 。 在 [屬性] 視窗中,選擇 [建置動作] 清單方塊中的 [內容]

  8. 若要在已新增至背景工作角色專案的服務封裝中納入檔案,請開啟該檔案的捷徑功能表,然後選擇 [屬性] 。 在 [屬性] 視窗中,選擇 [複製到輸出目錄] 清單方塊中的 [有更新時才複製]

若要深入了解如何從 Visual Studio 發佈至 Azure,請參閱 發佈 Azure 應用程式精靈