将 Mastra 部署到 Azure App Services
将 Mastra 应用部署到 Azure App Services。
本指南介绍如何部署 Mastra Server。如果你使用的是 Server 适配器或 Web 框架,请按该框架的常规方式进行部署。
开始之前开始之前的直接链接
你需要:
在 Azure App Services 的某些定价层级中,文件系统是临时的,因此部署之间会丢失所有本地数据库文件。如果你将 LibSQLStore 与本地文件配合使用,请改为配置远程的 LibSQL 兼容数据库(例如 Turso)。
创建新的 App Service创建新的 App Service的直接链接
以下步骤将介绍如何创建新的 Azure App Service 来托管 Mastra 应用。这会设置应用运行所需的基础设施和环境。
登录 Azure Portal,前往 App Services,或在顶部搜索栏中搜索。选择 **Create(创建)**以创建新的 App Service,然后在下拉菜单中选择 Web App。
配置 App Service 设置:
- Subscription(订阅):选择 Azure 订阅
- Resource Group(资源组):创建新资源组或选择现有资源组
- Instance name(实例名称):为应用输入唯一名称(该名称将成为 URL 的一部分)
- Publish(发布):选择 Code
- Runtime stack(Runtime 堆栈):选择 Node 22 LTS
- Operating System(操作系统):选择 Linux
- Region(区域):选择靠近用户的区域
- Linux Plan:根据所选区域,你可能可以选择计划;请根据需要选择合适的计划。
- 选择 Review + Create(查看并创建),等待验证完成,然后选择 Create(创建)。
此时会触发新部署。等待部署完成,然后在后续步骤部分选择 Go to resource(转到资源)。
设置 GitHub 部署之前,请先配置环境变量。在左侧边栏中前往 Settings(设置) > Environment variables(环境变量)。添加所需的环境变量,例如:
- 模型 Provider API Key(例如
OPENAI_API_KEY) - 数据库连接字符串
- Mastra 应用所需的其他配置值
选择 **Apply(应用)**以保存更改。
- 模型 Provider API Key(例如
GitHub 部署GitHub 部署的直接链接
在以下步骤中,你将把 Azure App Service 连接到 GitHub 仓库以启用持续部署。这意味着每次向仓库推送更改时,Azure 都会自动构建并部署应用。
在左侧边栏中前往 Deployment Center(部署中心),选择 GitHub 作为源。如果尚未通过 Azure 进行 GitHub 身份验证,请登录 GitHub。
在此示例中,使用 GitHub Actions 作为 Provider。选择你的组织、仓库和分支。
Azure 会生成 GitHub Workflow 文件,你可以在继续前预览。选择 Save(保存),该按钮位于页面顶部。
Azure 创建 Workflow 后,会触发一次 GitHub Actions 运行,并将 Workflow 文件合并到你的分支。由于缺少必要修改,此次运行会失败,因此请取消首次运行。
注意Azure 生成的默认 Workflow 不适用于 Mastra 应用,运行会失败,因此必须进行修改。
将最新更改拉取到本地仓库,然后修改生成的 Workflow 文件(
.github/workflows/main_<your-app-name>.yml):找到名为“npm install, build, and test”的步骤,然后:
- 将步骤名称改为“npm install and build”
- 如果尚未在 Mastra 应用中设置适当的测试,请从 run 部分移除
npm test命令,因为默认测试脚本会失败并中断部署。如果已有可运行的测试,可以保留测试命令。
找到“Zip artifact for deployment”步骤,将 zip 命令替换为:
run: (cd .mastra/output && zip ../../release.zip -r .)这样,部署包将只包含
.mastra/output中的构建输出。commit 并推送对 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 端点。
在公开暴露端点之前,请设置身份验证。