將 Fabric 應用程式部署到 Fabric

部署一個Fabric應用程式到 Fabric,方法是登入、執行 CLI 部署流程,並檢視 npx rayfin up 為你的應用程式設定了什麼。 本文將介紹部署過程中發生的事。

先決條件

  • 一個Fabric Apps 專案,設定檔為 rayfin/rayfin.yml。 如果你還沒有專案,請參考 Create your first Fabric Apps project
  • 一個 Microsoft Entra ID 帳號,可以存取 Fabric 工作空間。

部署應用程式

從你的專案根執行以下指令:

npx rayfin up

如果你沒有登入,CLI 會自動啟動互動式登入流程。

部署的功能

指令依 rayfin up 序執行以下步驟:

  1. 在你的 Fabric 工作區建立一個 Fabric Apps 項目(或在後續部署時重複使用現有的)。
  2. 從遠端服務取得可發佈的金鑰。
  3. 會將執行時設定從你的 rayfin.yml 服務同步到遠端服務,包括認證設定和服務標誌。
  4. 套用你 TypeScript 資料模型裝飾器產生的資料庫架構。
  5. 如果在 rayfin.yml 中啟用了 staticHosting,就會建置並部署靜態內容——執行你的建置指令、將輸出資料夾封裝成 ZIP 檔,然後上傳。
  6. 將部署詳細資料保存到 rayfin.yml.env.fabric-* 檔案中,以供後續部署使用。

部署後,CLI 會印出:

  • 你的應用程式上線的主機網址
  • 一個 Fabric 入口連結,用來管理部署
  • 供參考的部署識別碼

設定認證

部署應用程式僅支援 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

注意事項

使用 --force 可能會導致資料遺失。 請仔細審查列出的操作,並確認您接受相關後果後再繼續進行。

重新部署靜態內容

當你只更改前端程式碼時,請獨立重新部署靜態內容,以加快迭代週期:

npx rayfin up staticapp deploy

這個指令執行 configured 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 Apps 儲存。

在 Fabric 入口網站管理您的應用程式

部署後,你可以直接在 Fabric 入口網站管理你的 Fabric 應用程式

查看項目屬性

在 Fabric 入口網站開啟 Fabric 應用程式,可以看到:

  • App URL — 你靜態內容所託管的公開網址。
  • App 後端網址 — 所有後端服務的基礎網址。

管理兒童服務

選擇 Fabric 應用程式以查看其兒童服務:

  • SQL Database — 開啟 Fabric SQL 查詢編輯器。 你可以對資料執行讀取查詢。 直接在 Fabric portal 中所做的架構變更會在下一個 rayfin up 部署時被覆寫。
  • 認證 — 在子 SQL 資料庫中的 Users 資料表中檢視並管理已認證的使用者。

應用程式權限

對於任何Fabric應用程式的貢獻者,若要部署Fabric應用程式,至少需要取得該項目的<>編輯權限。