跳至主要內容

將 Mastra 部署至 Azure App Services

將 Mastra 應用程式部署至 Azure App Services。

資訊

本指南說明如何部署 Mastra 伺服器。若你使用伺服器轉接器Web 框架,請依該框架平常的方式部署。

開始之前
「開始之前」的直接連結

你需要:

警告

在 Azure App Services 的部分定價層級中,檔案系統是暫時性的,因此本機資料庫檔案會在部署之間遺失。若你搭配本機檔案使用 LibSQLStore,請改為設定遠端的 LibSQL 相容資料庫(例如 Turso)。

建立新的 App Service
「建立新的 App Service」的直接連結

下列步驟將說明如何建立新的 Azure App Service 以託管 Mastra 應用程式,並設定應用程式執行所需的基礎架構與環境。

  1. 登入 Azure Portal,前往 App Services,或在頂端搜尋列中搜尋。選取 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 部署
「GitHub 部署」的直接連結

下列步驟會將 Azure App Service 連接至 GitHub 儲存庫以啟用持續部署。每次將變更推送至儲存庫時,Azure 都會自動建置並部署應用程式。

  1. 前往左側邊欄的 Deployment Center,並選取 GitHub 作為來源。若尚未透過 Azure 完成驗證,請登入 GitHub。

    本範例保留 GitHub Actions 作為 Provider。選取組織、儲存庫和分支。

    Azure 會產生 GitHub Workflow 檔案,你可以在繼續前預覽。選取 Save(儲存按鈕位於頁面頂端)。

  2. Azure 建立 Workflow 後,會觸發 GitHub Actions 執行,並將 Workflow 檔案合併至分支。由於尚未進行必要修改,這次執行會失敗,請取消第一次執行

    警告

    Azure 產生的預設 Workflow 無法用於 Mastra 應用程式,必須修改。

    將最新變更提取至本機儲存庫,並修改產生的 Workflow 檔案(.github/workflows/main_<your-app-name>.yml):

  3. 找到名為「npm install, build, and test」的步驟,然後:

    • 將步驟名稱改為「npm install and build」
    • 若尚未在 Mastra 應用程式中設定適當測試,請從執行區段移除 npm test 指令,因為預設測試指令碼會失敗並中斷部署。若測試可正常運作,則可保留該指令。
  4. 找到「Zip artifact for deployment」步驟,並將 zip 指令取代為:

    run: (cd .mastra/output && zip ../../release.zip -r .)

    如此一來,部署套件只會包含 .mastra/output 的建置輸出。

  5. 提交並推送 Workflow 修改。Azure 控制面板的 Deployment Center 會自動觸發建置。監控部署進度,直到成功完成。

驗證部署
「驗證部署」的直接連結

建置成功後,稍候片刻讓應用程式啟動。你可以使用 Azure Portal Overview 分頁提供的預設 URL 存取已部署的應用程式。應用程式位於 https://<your-app-name>.azurewebsites.net

從 Azure Portal 複製 URL,並在瀏覽器中前往 https://<your-app-name>.azurewebsites.net/api/agents。你應會看到 Agent 的 JSON 清單。

現在可以透過 HTTP 呼叫 Mastra 端點。

警告

將端點公開前,請先設定驗證

後續步驟
「後續步驟」的直接連結