部署一個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 序執行以下步驟:
- 在你的 Fabric 工作區建立一個 Fabric Apps 項目(或在後續部署時重複使用現有的)。
- 從遠端服務取得可發佈的金鑰。
- 會將執行時設定從你的
rayfin.yml服務同步到遠端服務,包括認證設定和服務標誌。 - 套用你 TypeScript 資料模型裝飾器產生的資料庫架構。
- 如果在
rayfin.yml中啟用了staticHosting,就會建置並部署靜態內容——執行你的建置指令、將輸出資料夾封裝成 ZIP 檔,然後上傳。 - 將部署詳細資料保存到
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 會儲存部署細節(rayfinItemId、 fabricWorkspaceId及項目端點)。 重新執行 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應用程式,至少需要取得該項目的<>編輯權限。