将 Fabric 应用程序部署到 Fabric

通过登录、运行 CLI 部署流程并查看 npx rayfin up 为你的应用配置了什么,将 Fabric 应用部署到 Fabric 中。 本文介绍部署期间发生的情况的概念。

先决条件

  • 具有 rayfin/rayfin.yml 配置文件的 Fabric Apps 项目。 如果还没有项目,请参阅 创建第一个 Fabric Apps 项目
  • 具有访问 Fabric 工作区权限的 Microsoft Entra ID 帐户。

部署应用程序

从项目根目录运行以下命令:

npx rayfin up

如果未登录,CLI 会自动启动交互式登录流。

部署的作用

rayfin up 命令按顺序执行以下步骤:

  1. 在Fabric工作区中创建Fabric应用项(或在后续部署时重复使用现有应用项)。
  2. 从远程服务检索可发布密钥。
  3. 将运行时设置从你 rayfin.yml 同步到远程服务,包括身份验证配置和服务标志。
  4. 应用从 TypeScript 数据模型修饰器生成的数据库架构。
  5. 如果在 rayfin.yml 中启用了 staticHosting,则会构建并部署静态内容:运行构建命令,将输出文件夹打包为 ZIP 压缩包,然后上传。
  6. 将部署详细信息保存到 rayfin.yml.env.fabric-* 文件中,供后续部署使用。

部署后,CLI 将打印:

  • 应用所在的托管 URL
  • 用于管理部署的 Fabric 门户链接
  • 用于参考的部署 ID

配置身份验证

部署的应用程序仅支持 Fabric 中转身份验证 (Entra SSO)。 电子邮件和密码身份验证在本地开发期间可用,但在部署到Fabric后不起作用。

在运行 rayfin.yml 之前,请确保 rayfin up 已启用Fabric身份验证:

services:
  auth:
    enabled: true
    fabric:
      enabled: true

预览部署,无需更改

使用 --dry-run 查看 CLI 在不创建或修改任何资源的情况下会执行哪些操作:

npx rayfin up --dry-run

应用数据库更改

更新数据模型后,将架构更改推送到远程数据库,而无需重新部署完整堆栈:

npx rayfin up db apply

如果架构更改涉及潜在的破坏性操作(删除列、重命名表),CLI 会警告你,并拒绝继续。 使用 --force 跳过安全检查:

npx rayfin up db apply --force

Caution

使用 --force 可能会导致数据丢失。 仔细查看列出的操作,并确认在继续操作之前接受后果。

重新部署静态内容

仅更改前端代码时,请独立重新部署静态内容,以加快迭代周期:

npx rayfin up staticapp deploy

此命令运行配置的 buildCommand、打包输出并将其上传到远程服务。

跳过生成步骤并部署现有输出:

npx rayfin up staticapp deploy --skip-build

检查部署状态

查看Fabric部署的当前状态:

npx rayfin up status

为计算机可读输出添加 --json

npx rayfin up status --json

更新现有部署

第一次部署后,rayfin.yml存储部署详细信息(rayfinItemIdfabricWorkspaceId以及项终结点)。 再次运行 npx rayfin up 会更新相同的部署,而不是创建新的部署。

对于目标更新,请使用子命令:

命令 它更新的内容
npx rayfin up 所有内容:设置、数据库和静态内容。
npx rayfin up db apply 仅限数据库架构。
npx rayfin up staticapp deploy 仅静态内容。

排查部署问题

部署失败,出现 401 或 403 错误

会话可能已过期。 运行 npx rayfin login 以重新进行身份验证,然后重试 npx rayfin up

数据库应用报告了破坏性更改

Rayfin CLI 会阻止可能导致数据丢失的架构更改。 查看列出的操作,仅在确认你接受数据丢失后才使用 npx rayfin up db apply --force

静态部署超出大小限制

压缩存档不得超过 100 MB。 通过排除源映射和大型开发资产来优化生成输出,或者将二进制文件移动到Fabric应用存储。

在 Fabric 门户中管理应用

部署后,可以直接在 Fabric 门户中管理Fabric应用。

查看项属性

在Fabric门户中打开Fabric应用以查看:

  • 应用 URL — 托管静态内容的公共 URL。
  • 应用后端 URL - 所有后端服务的基 URL。

管理子服务

选择 Fabric 应用即可查看其子服务:

  • SQL 数据库 - 打开Fabric SQL 查询编辑器。 您可以对您的数据执行读取查询。 直接在 Fabric 门户中所做的架构更改将在下一次rayfin up部署时被覆盖。
  • 身份验证 - 在子 SQL 数据库中的 “用户” 表中查看和管理经过身份验证的用户。

应用权限

对于 Fabric 应用的任何参与者,若要部署 Fabric 应用,他们至少需要对该项具有 Edit 权限。