> Discover all available pages from the documentation index: https://mastra.zisheng.pro/zh-HK/llms.txt # 將 Mastra 部署至 Azure App Services 將你的 Mastra 應用程式部署至 Azure App Services。 > **資訊:** 本指南涵蓋如何部署 [Mastra 伺服器](https://mastra.zisheng.pro/zh-HK/docs/server/mastra-server)。如果你使用[伺服器 adapter](https://mastra.zisheng.pro/zh-HK/docs/server/server-adapters) 或[網絡框架](https://mastra.zisheng.pro/zh-HK/docs/deployment/web-framework),請按照該框架的一般方式部署。 ## 開始之前 你需要: - 一個 [Mastra 應用程式](https://mastra.zisheng.pro/zh-HK/guides/getting-started/quickstart) - 一個具備有效訂閱的 [Azure 帳戶](https://azure.microsoft.com/) - 一個包含 Mastra 應用程式的 [GitHub repository](https://github.com/) > **注意:** 在 Azure App Services 上,部分定價層級的檔案系統是暫存的,因此任何本機資料庫檔案都會在兩次部署之間遺失。如果你透過本機檔案使用 [LibSQLStore](https://mastra.zisheng.pro/zh-HK/reference/storage/libsql),請改為設定使用遠端、與 LibSQL 相容的資料庫(例如 [Turso](https://turso.tech/))。 ## 建立新的 App Service 以下步驟會說明如何建立新的 Azure App Service,以託管你的 Mastra 應用程式。這會設定應用程式運行所需的基礎架構和環境。 1. 登入 [Azure Portal](https://portal.azure.com),前往 **[App Services](https://docs.microsoft.com/en-us/azure/app-service/)**,或在頂部搜尋列中搜尋。選擇 **建立** 以建立新的 App Service,然後在下拉式選單中選擇 **Web App**。 2. 設定 App Service: - **訂閱**:選擇你的 Azure 訂閱 - **資源群組**:建立新的資源群組或選擇現有群組 - **執行個體名稱**:為應用程式輸入獨一無二的名稱(它會成為 URL 的一部分) - **發佈**:選擇 **程式碼** - **Runtime stack**:選擇 **Node 22 LTS** - **作業系統**:選擇 **Linux** - **區域**:選擇鄰近使用者的區域 - **Linux 計劃**:視乎所選區域,你或可選擇計劃;請選取適合需要的計劃。 - 選擇 **檢閱 + 建立**,等待驗證完成,然後選擇 **建立**。 3. 系統已觸發新部署。等待部署完成,然後在後續步驟部分選擇 **前往資源**。 4. 設定 GitHub 部署之前,請先設定環境變數。在左側邊欄中前往 **設定** > **環境變數**。加入所需的環境變數,例如: - 模型 Provider API 金鑰(例如 `OPENAI_API_KEY`) - 資料庫連線字串 - Mastra 應用程式所需的任何其他設定值 選擇 **套用** 以儲存變更。 ## GitHub 部署 以下步驟會將 Azure App Service 連接至 GitHub repository,以啟用持續部署。此後,每當你將變更推送至 repository,Azure 都會自動建置並部署應用程式。 1. 在左側邊欄中前往 **部署中心**,然後選擇 **GitHub** 作為來源。如果尚未透過 Azure 驗證 GitHub,請登入 GitHub。 在此範例中,你會保留 [GitHub Actions](https://docs.github.com/en/actions) 作為 Provider。選擇你的組織、repository 和 branch。 Azure 會產生 GitHub workflow 檔案,你可以在繼續之前預覽。選擇 **儲存**(儲存按鈕位於頁面頂部)。 2. Azure 建立 workflow 後,會觸發 GitHub Actions 運行,並將 workflow 檔案合併至你的 branch。由於缺少必要修改,這次運行會失敗,請**取消首次運行**。 > **注意:** Azure 產生的預設 workflow 不適用於 Mastra 應用程式,必須修改。 將最新變更拉取至本機 repository,然後修改產生的 workflow 檔案(`.github/workflows/main_.yml`): 3. 找出名為「npm install, build, and test」的步驟,然後: - 將步驟名稱改為「npm install and build」 - 如果尚未在 Mastra 應用程式中設定適當測試,請從 run 部分移除 `npm test` 命令,因為預設測試 script 會失敗並中斷部署。如果已有可正常運行的測試,可以保留測試命令。 4. 找出「Zip artifact for deployment」步驟,並將 zip 命令替換為: ```yaml run: (cd .mastra/output && zip ../../release.zip -r .) ``` 此後,部署套件只會包含 `.mastra/output` 的建置輸出。 5. commit 並推送 workflow 修改。Azure dashboard 的 **部署中心** 會自動觸發建置。監察部署進度,直至順利完成。 ## 驗證部署 建置成功後,稍候片刻讓應用程式啟動。你可以使用 Azure Portal **概覽** 分頁提供的預設 URL 存取已部署的應用程式。應用程式可於 `https://.azurewebsites.net` 存取。 從 Azure Portal 複製 URL,然後在瀏覽器前往 `https://.azurewebsites.net/api/agents`。你應會看到 Agent 的 JSON 清單。 現在你可以透過 HTTP 調用 Mastra endpoint。 > **注意:** 公開 endpoint 前,請先設定[驗證](https://mastra.zisheng.pro/zh-HK/docs/server/auth)。 ## 後續步驟 - [Mastra Client SDK](https://mastra.zisheng.pro/zh-HK/reference/client-js/mastra-client) - [設定自訂網域](https://docs.microsoft.com/en-us/azure/app-service/app-service-web-tutorial-custom-domain) - [啟用 HTTPS](https://docs.microsoft.com/en-us/azure/app-service/configure-ssl-bindings) - [Azure App Service 文件](https://docs.microsoft.com/en-us/azure/app-service/)