在這個快速入門中,你將學習如何建立並部署你的第一個 Aspire 應用程式到 Azure App 服務。 Azure App 服務 提供一個完整管理的平台,用於託管網頁應用程式,內建基礎設施維護、安全修補與擴展功能。
你可以透過適用於 GitHub Codespaces 的官方 Aspire 開發容器,直接在瀏覽器中完成整個快速入門流程。 最後,你已經將正在運行的 Aspire 應用程式部署到 Azure App 服務。
重要
Aspire Azure App 服務 整合目前處於預覽階段。
這個快速入門工具使用 C# AppHost 和 .NET 專案。 Aspire 也支援 TypeScript 應用程式主機及多語言應用程式資源。 欲了解更多資訊,請參閱 Aspire AppHost 及 Aspire 13.5 的新動態。
先決條件
- 一個有有效訂閱的 Azure 帳號。 免費註冊帳號。
- 可存取 GitHub Codespaces 的 GitHub 帳號。
- Azure CLI 可在 codespace 中用於驗證。
在 GitHub 的 codespace 建立一個 Aspire 入門應用程式
在新儲存庫中,選擇 程式碼>空間>在主程式碼空間建立程式碼空間。
你的瀏覽器會用 Visual Studio Code 開啟一個程式碼空間。 環境包含 Aspire CLI 及一個受信任的本地 HTTPS 開發憑證。
更多資訊請參閱使用 GitHub Codespaces 與 Aspire 開發。
在終端機中,建立一個新的 Aspire 應用程式:
aspire new aspire-starter --name aspire-starter --output aspire-starter該指令會建立一個名為
aspire-starter、包含完整 Aspire 解決方案的新目錄,包括:- 一個用於協調的 AppHost 專案
- 一個用於共享配置的 ServiceDefaults 專案
- 範例 API 與網頁前端專案
進入專案目錄:
cd aspire-starter
新增 Azure App 服務 整合
設定你的 Aspire 應用程式部署到 Azure App 服務。
新增 Azure App 服務 托管整合:
aspire add Aspire.Hosting.Azure.AppServiceaspire add指令會偵測到 AppHost 專案,並新增Aspire.Hosting.Azure.AppService套件。 如需詳細資訊,請參閱aspire add。打開 aspire-starter/aspire-starter.AppHost/AppHost.cs。
在行
CreateBuilder後新增 Azure App 服務 環境:builder.AddAzureAppServiceEnvironment("app-service-env");將
.WithExternalHttpEndpoints()加入apiservice專案中。 您的完整apiservice資源應如下所示:var apiService = builder.AddProject<Projects.aspire_starter_ApiService>("apiservice") .WithExternalHttpEndpoints() .WithHttpHealthCheck("/health");注意
App Service 僅支援外部 HTTP 與 HTTPS 端點,並為每個部署的應用程式提供一個獨立的目標埠。 起始範本已經暴露了前端端點。 欲了解更多資訊,請參閱 Azure App 服務 Hosting 整合。
從解決方案根節點執行
aspire run,在本地驗證 AppHost。
部署至 Azure
登入 Azure:
az login部署應用程式:
aspire deploy當提示時,選擇你的 Azure 訂閱、位置和資源群組。 Aspire 會將選定的部署設定儲存為 AppHost 使用者秘密,方便你重複使用。
指令
aspire deploy會根據你的 AppHost.cs 程式碼執行以下動作:- 建立或重複使用所選資源群組
- 建立 Azure 應用程式服務計畫
- 建立 Azure Container Registry
- 建立兩個 App Service 網頁應用程式(一個用於 API,一個用於前端)
- 建立一個受管理的 Aspire 儀表板資源
- 建置並容器化你的應用程式
- 將容器推送到 Azure 容器註冊表
- 將容器部署到 App Service
欲了解更多部署設定與認證資訊,請參閱「部署至 Azure」。
部署完成後,指令會顯示已部署服務的端點網址及 Aspire 儀表板。
欲了解更多部署流程資訊,請參閱 Deploy to Azure App 服務。
瀏覽您的 Aspire 應用程式
在部署輸出中,找到該
webfrontend服務的網址。 它看起來類似:webfrontend: https://webfrontend-xxxxx.azurewebsites.net複製網址,然後在新的瀏覽器分頁中開啟。
你會看到 Aspire starter 應用程式在 Azure App 服務 中運行。 網頁前端與 API 服務溝通,展示分散式架構。
試著在應用程式裡操作確認它是否正常運作。
要查看 Aspire 儀表板,請在部署輸出中找到 Aspire 儀表板 的網址,並在新的瀏覽器分頁中開啟。
在 Azure portal 查看部署詳情
瀏覽至 Azure 入口網站。
在搜尋欄輸入 資源群組 ,選擇 資源群組。
找到並選擇你在 中
aspire deploy選擇的資源群組。
您應該會看到下列資源:
- 應用程式服務計畫:主機基礎設施
- 應用程式服務:您的網路前端與 apiservice 應用程式
- Aspire Dashboard:一個由角色基礎存取控制(RBAC)保護的管理型 Azure 資源。
- 容器登錄:儲存您的容器映像檔
- 使用者指定身份:提供服務間的安全存取
清理資源
當你不再需要 Azure 資源時,刪除它們以避免產生費用。
在你的程式碼空間終端機中,執行:
aspire destroy當被提示時,確認你想要摧毀已部署的環境。
指令執行由 App Service 環境註冊的 destroy 步驟。 如需詳細資訊,請參閱 aspire destroy。
Caution
aspire destroy 刪除整個資源群組,包括非 Aspire 建立的資源。 確認前先檢視目標資源群。
常見問題集
我需要 App Service 環境來執行 Aspire 應用程式嗎?
不會。 儘管名稱如此,AddAzureAppServiceEnvironment它並不會佈建位於 Isolated 層的 App Service 環境。 它會建立一個 Aspire 環境資源,代表你應用程式的 App Service 託管基礎設施。
當你撥打 AddAzureAppServiceEnvironment時,它會提供:
- Azure App 服務 方案 (Linux 預設為 Premium P0V3 層級)
- Azure 容器註冊表用於存儲容器映像
- 使用者指派的管理身份用於服務間的安全存取
這個 Aspire 環境概念將你的資源分組在一起,並提供部署 Aspire 應用程式到 Azure App 服務 所需的基礎設施。
我該如何自訂我的 App Service 部署?
你可以透過修改 AppHost.cs 配置來自訂你的 App Service 部署。 Aspire Azure App 服務 整合提供多種自訂部署方式:
- 設定應用程式服務方案:調整 SKU、等級及擴展選項
- 自訂 App Service 設定:新增環境變數、連線字串及應用程式設定
- 設定基礎設施:修改網路、認證及其他 Azure 資源
- 利用現有資源:連接現有的 App Service Plan 或其他 Azure 資源
欲了解更多資訊,請參閱 「配置 Aspire 應用程式用於 Azure App 服務」。
欲了解更多支援的 App Service 工作負載及部署行為,請參閱 Azure App 服務 Hosting 整合及部署至 Azure App 服務。
下一步
你成功將 Aspire 應用程式部署到 Azure App 服務! 以下是接下來可以探索的步驟: