> Discover all available pages from the documentation index: https://mastra.zisheng.pro/llms.txt # 将 Mastra 部署到 Azure App Services 将 Mastra 应用部署到 Azure App Services。 > **信息:** 本指南介绍如何部署 [Mastra Server](https://mastra.zisheng.pro/docs/server/mastra-server)。如果你使用的是 [Server 适配器](https://mastra.zisheng.pro/docs/server/server-adapters)或 [Web 框架](https://mastra.zisheng.pro/docs/deployment/web-framework),请按该框架的常规方式进行部署。 ## 开始之前 你需要: - 一个 [Mastra 应用](https://mastra.zisheng.pro/guides/getting-started/quickstart) - 一个拥有有效订阅的 [Azure 账户](https://azure.microsoft.com/) - 一个包含 Mastra 应用的 [GitHub 仓库](https://github.com/) > **注意:** 在 Azure App Services 的某些定价层级中,文件系统是临时的,因此部署之间会丢失所有本地数据库文件。如果你将 [LibSQLStore](https://mastra.zisheng.pro/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(Runtime 堆栈)**:选择 **Node 22 LTS** - **Operating System(操作系统)**:选择 **Linux** - **Region(区域)**:选择靠近用户的区域 - **Linux Plan**:根据所选区域,你可能可以选择计划;请根据需要选择合适的计划。 - 选择 **Review + Create(查看并创建)**,等待验证完成,然后选择 **Create(创建)**。 3. 此时会触发新部署。等待部署完成,然后在后续步骤部分选择 **Go to resource(转到资源)**。 4. 设置 GitHub 部署之前,请先配置环境变量。在左侧边栏中前往 **Settings(设置)** > **Environment variables(环境变量)**。添加所需的环境变量,例如: - 模型 Provider API Key(例如 `OPENAI_API_KEY`) - 数据库连接字符串 - Mastra 应用所需的其他配置值 选择 \*\*Apply(应用)\*\*以保存更改。 ## GitHub 部署 在以下步骤中,你将把 Azure App Service 连接到 GitHub 仓库以启用持续部署。这意味着每次向仓库推送更改时,Azure 都会自动构建并部署应用。 1. 在左侧边栏中前往 **Deployment Center(部署中心)**,选择 **GitHub** 作为源。如果尚未通过 Azure 进行 GitHub 身份验证,请登录 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 应用中设置适当的测试,请从 run 部分移除 `npm test` 命令,因为默认测试脚本会失败并中断部署。如果已有可运行的测试,可以保留测试命令。 4. 找到“Zip artifact for deployment”步骤,将 zip 命令替换为: ```yaml run: (cd .mastra/output && zip ../../release.zip -r .) ``` 这样,部署包将只包含 `.mastra/output` 中的构建输出。 5. commit 并推送对 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/docs/server/auth)。 ## 后续步骤 - [Mastra Client SDK](https://mastra.zisheng.pro/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/)