教學課程:使用 Visual Studio 部署至 Azure 容器應用程式

Azure 容器應用程式讓您在無伺服器平台上執行微服務和容器化應用程式。 使用容器應用程式,您會享受執行容器的優點,同時無須顧慮手動設定雲端基礎結構和複雜容器協調器的問題。

在本教學課程中,您將會使用 Visual Studio,將容器化 ASP.NET Core 6.0 應用程式部署至 Azure 容器應用程式。 下列步驟也適用於舊版 ASP.NET Core。

先決條件

  • 需要具作用中訂用帳戶的 Azure 帳戶。 若您還沒有帳戶,可以免費建立帳戶
  • Visual Studio 2022 17.2 版或更高版本,可供免費下載

建立專案

首先,建立容器化 ASP.NET Core 應用程式以部署至 Azure。

  1. 在 Visual Studio 內,選取 [檔案],然後選擇 [新增 => 專案]。

  2. 在對話方塊視窗中,搜尋 ASP.NET,然後選擇[ASP.NET Core Web 應用程式],然後選取 [下一步]。

  3. 在 [專案名稱] 欄位中,將應用程式命名為 MyContainerApp,然後選取 [下一步]。

  4. 在 [其他資訊] 畫面上,請務必選取 [啟用 Docker],然後確定已針對 [Docker OS] 設定選取[Linux]。 Azure 容器應用程式目前不支援 Windows 容器。 此選取項目可確保專案範本預設支援容器化。 啟用時,專案會在執行或建置時使用容器。

  5. 按一下 [建立],Visual Studio 會建立並載入專案。

顯示啟用 Docker 的螢幕擷取畫面。

部署至 Azure 容器應用程式

應用程式包含 Dockerfile,因為已在專案範本中選取 [啟用 Docker] 設定。 Visual Studio 會使用 Dockerfile 來建置由 Azure 容器應用程式執行的容器映像。

如果您想要深入了解此程序的詳細資訊,請參閱 Visual Studio 如何建置容器化應用程式

您現在已準備好將應用程式部署到 Azure 容器應用程式。

建立資源

Visual Studio 發佈對話方塊會協助您選擇現有的 Azure 資源,或建立新的資源,以用來部署應用程式。 也會使用專案中的 Dockerfile 建置容器映像、將此映像推送至 ACR,最後將新映像部署到選取的容器應用程式。

  1. 以滑鼠右鍵按一下 [MyContainerApp] 專案節點,然後選取 [發佈]。

  2. 在對話方塊中,從發佈選項清單中選擇 [Azure ],然後選取 [下一步]。

    顯示發佈至 Azure 的螢幕擷取畫面。

  3. 在 [特定目標] 畫面上,選擇 [Azure 容器應用程式 (Linux)],然後再次選取 [下一步]。

    顯示已選取容器應用程式的螢幕擷取畫面。

  4. 接下來,建立 Azure 容器應用程式來裝載專案。 選取右側的綠色加號圖示,以開啟建立對話方塊。 在 [新建] 對話方塊中,輸入下列值:

    • 容器應用程式名稱:輸入 msdocscontainerapp 的名稱。
    • 訂用帳戶名稱:選擇您要在其中裝載應用程式的訂用帳戶。
    • 資源群組:資源群組可作為邏輯容器,以組織 Azure 中的相關資源。 您可以選取現有的資源群組,或選取 [新增] 以建立具有您所選擇名稱的群組,例如 msdocscontainerapps
    • 容器應用程式環境:容器應用程式環境:每個容器應用程式都必須屬於容器應用程式環境。 環境會為一或多個容器應用程式提供隔離的網路,讓其能夠輕鬆地彼此叫用。 按一下 [新增] 以開啟容器應用程式環境的 [新建] 對話方塊。 保留預設值,然後選取 [確定] 以關閉環境對話方塊。
    • 容器名稱:這是將會針對此容器應用程式執行的容器易記名稱。 針對本快速入門使用名稱 msdocscontainer1。 容器應用程式通常會執行單一容器,但有時候需要多個容器。 其中一個範例是需要側車容器來執行特殊記錄或通訊等活動。

    顯示如何建立新容器應用程式的螢幕擷取畫面。

  5. 選取 [建立] 以完成建立容器應用程式。 Visual Studio 和 Azure 會代表您建立所需的資源。 此程序可能需要幾分鐘的時間,因此請讓該程序執行到完成,再繼續作業。

  6. 建立資源之後,請選擇 [下一步]。

    顯示如何選取已建立資源的螢幕擷取畫面。

  7. 在 [登錄] 畫面上,如果您有現有的登錄,您可以選取現有的登錄,或建立新的登錄。 若要建立新的登錄,請按一下右側的綠色 + 圖示。 在 [新建] 登錄畫面上,填入下列值:

    • DNS 前置詞:輸入 msdocscontainerregistry 的值或您選擇的名稱。
    • 訂用帳戶名稱:選取您想要使用的訂用帳戶 - 您可能只有一個訂用帳戶名稱可以選擇。
    • 資源群組:選擇您先前建立的 msdocs 資源群組。
    • SKU:選取 [標準]。
    • 登錄位置:選取地理上接近您的區域。

    顯示如何建立容器登錄的螢幕擷取畫面。

  8. 填入這些值之後,請選取 [建立]。 Visual Studio 和 Azure 需要一些時間才能建立登錄。

  9. 建立容器登錄之後,請確定已選取,然後選擇 [完成]。 Visual Studio 需要一些時間才能建立發行設定檔。 此發行設定檔是 VS 儲存您所選擇發佈選項和資源的位置,因此您可以在需要時快速再次發佈。 一旦完成,您就可以關閉對話方塊。

    顯示如何選取已建立登錄的螢幕擷取畫面。

使用 Visual Studio 發佈您的應用程式

建立資源和發行設定檔時,您仍然需要將應用程式發佈並部署至 Azure。

選擇發行設定檔畫面右上方的 [發佈],以部署至您在 Azure 中建立的容器應用程式。 此程序可能需要一些時間,因此請等候其完成。

顯示如何發佈應用程式的螢幕擷取畫面。

當應用程式完成部署時,Visual Studio 會將瀏覽器開啟至已部署網站的 URL。 如果所有適當的資源尚未完成佈建,則此頁面一開始可能會顯示錯誤。 您可以定期重新整理瀏覽器,以檢查部署是否已完全完成。

顯示已發佈網站的螢幕擷取畫面。

使用 GitHub Actions 發佈應用程式

容器應用程式也可以透過 GitHub Actions 使用 CI/CD 來部署,這是一個功能強大的工具,可直接透過專案的 GitHub 存放庫自動化、自訂和執行開發工作流程。

如果 Visual Studio 偵測到您要發佈的專案裝載於 GitHub,發佈流程會顯示額外的部署類型步驟。 此階段可讓開發人員選擇使用快速入門稍早所示的步驟直接透過 Visual Studio 發佈,或透過 GitHub Actions 工作流程發佈。

顯示部署類型的螢幕擷取畫面。

如果您選取 GitHub Actions 工作流程,Visual Studio 會將 .github 資料夾新增至專案的根目錄,以及其中產生的 YAML 檔案。 YAML 檔案包含 GitHub Actions 組態,可讓您在每次推送程式碼時,建置應用程式並將其部署至 Azure。

進行變更並推送程式碼之後,您可以在 [動作] 索引標籤下的 GitHub 中查看建置和部署程序的進度。此頁面提供有關工作流程進度和健康情況的詳細記錄和指標。

顯示 GitHub 動作的螢幕擷取畫面。

一旦您在建置和部署作業旁邊看到綠色核取記號,工作流程即完成。 當您瀏覽至容器應用程式網站時,應該會看到已套用最新變更。 您一律可以使用 Azure 入口網站頁面來尋找容器應用程式的 URL。

清除資源

如果您不打算繼續使用此應用程式,可以移除資源群組來刪除 Azure 容器應用程式執行個體和所有相關聯的服務。

請遵循 Azure 入口網站中的下列步驟來移除您所建立的資源:

  1. 從 [概觀] 區段中選取 [msdocscontainerapps] 資源群組。
  2. 選取資源群組 [概觀] 頂端的 [刪除資源群組] 按鈕。
  3. 在 [確定要刪除「my-container-apps」] 確認對話方塊中,輸入資源組名稱 msdocscontainerapps
  4. 選取 [刪除]。
    刪除資源群組的程序可能需要幾分鐘的時間才能完成。

提示

有問題嗎? 在 Azure 容器應用程式存放庫中提出問題,讓我們在 GitHub 上了解該問題。

後續步驟