> Discover all available pages from the documentation index: https://mastra.zisheng.pro/zh-TW/llms.txt # 將 Mastra 部署至 Azure App Services 將 Mastra 應用程式部署至 Azure App Services。 > **資訊:** 本指南說明如何部署 [Mastra 伺服器](https://mastra.zisheng.pro/zh-TW/docs/server/mastra-server)。若你使用[伺服器轉接器](https://mastra.zisheng.pro/zh-TW/docs/server/server-adapters)或 [Web 框架](https://mastra.zisheng.pro/zh-TW/docs/deployment/web-framework),請依該框架平常的方式部署。 ## 開始之前 你需要: - 一個 [Mastra 應用程式](https://mastra.zisheng.pro/zh-TW/guides/getting-started/quickstart) - 一個具有有效訂閱的 [Azure 帳號](https://azure.microsoft.com/) - 一個包含 Mastra 應用程式的 [GitHub 儲存庫](https://github.com/) > **警告:** 在 Azure App Services 的部分定價層級中,檔案系統是暫時性的,因此本機資料庫檔案會在部署之間遺失。若你搭配本機檔案使用 [LibSQLStore](https://mastra.zisheng.pro/zh-TW/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/)**,或在頂端搜尋列中搜尋。選取 **Create** 建立新的 App Service,然後從下拉式選單選取 **Web App**。 2. 設定 App Service: - **Subscription**:選取 Azure 訂閱 - **Resource Group**:建立新的資源群組或選取現有群組 - **Instance name**:輸入應用程式的唯一名稱(將成為 URL 的一部分) - **Publish**:選取 **Code** - **Runtime stack**:選取 **Node 22 LTS** - **Operating System**:選取 **Linux** - **Region**:選擇靠近使用者的區域 - **Linux Plan**:依選取的區域,可能可以選擇方案;請選取符合需求的方案。 - 選取 **Review + Create** 並等待驗證完成,然後選取 **Create**。 3. 新的部署已觸發。等待部署完成,然後在後續步驟區段選取 **Go to resource**。 4. 設定 GitHub 部署前,請先設定環境變數。前往左側邊欄的 **Settings** > **Environment variables**,加入必要的環境變數,例如: - 模型 Provider API 金鑰(例如 `OPENAI_API_KEY`) - 資料庫連線字串 - Mastra 應用程式所需的其他設定值 選取 **Apply** 儲存變更。 ## GitHub 部署 下列步驟會將 Azure App Service 連接至 GitHub 儲存庫以啟用持續部署。每次將變更推送至儲存庫時,Azure 都會自動建置並部署應用程式。 1. 前往左側邊欄的 **Deployment Center**,並選取 **GitHub** 作為來源。若尚未透過 Azure 完成驗證,請登入 GitHub。 本範例保留 [GitHub Actions](https://docs.github.com/en/actions) 作為 Provider。選取組織、儲存庫和分支。 Azure 會產生 GitHub Workflow 檔案,你可以在繼續前預覽。選取 **Save**(儲存按鈕位於頁面頂端)。 2. Azure 建立 Workflow 後,會觸發 GitHub Actions 執行,並將 Workflow 檔案合併至分支。由於尚未進行必要修改,這次執行會失敗,請**取消第一次執行**。 > **警告:** Azure 產生的預設 Workflow 無法用於 Mastra 應用程式,必須修改。 將最新變更提取至本機儲存庫,並修改產生的 Workflow 檔案(`.github/workflows/main_.yml`): 3. 找到名為「npm install, build, and test」的步驟,然後: - 將步驟名稱改為「npm install and build」 - 若尚未在 Mastra 應用程式中設定適當測試,請從執行區段移除 `npm test` 指令,因為預設測試指令碼會失敗並中斷部署。若測試可正常運作,則可保留該指令。 4. 找到「Zip artifact for deployment」步驟,並將 zip 指令取代為: ```yaml run: (cd .mastra/output && zip ../../release.zip -r .) ``` 如此一來,部署套件只會包含 `.mastra/output` 的建置輸出。 5. 提交並推送 Workflow 修改。Azure 控制面板的 **Deployment Center** 會自動觸發建置。監控部署進度,直到成功完成。 ## 驗證部署 建置成功後,稍候片刻讓應用程式啟動。你可以使用 Azure Portal **Overview** 分頁提供的預設 URL 存取已部署的應用程式。應用程式位於 `https://.azurewebsites.net`。 從 Azure Portal 複製 URL,並在瀏覽器中前往 `https://.azurewebsites.net/api/agents`。你應會看到 Agent 的 JSON 清單。 現在可以透過 HTTP 呼叫 Mastra 端點。 > **警告:** 將端點公開前,請先設定[驗證](https://mastra.zisheng.pro/zh-TW/docs/server/auth)。 ## 後續步驟 - [Mastra Client SDK](https://mastra.zisheng.pro/zh-TW/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/)