このチュートリアルでは、Rayfin CLI のみを使用して、Fabric アプリの 2 ワークスペース ライフサイクルを設定します。 機能の変更を開発ワークスペースにデプロイし、検証してから、同じプロジェクトを運用ワークスペースに昇格させます。 このワークフローでは、手動の昇格手順を使用するため、変更が運用環境に到達するタイミングと方法を制御できます。
このチュートリアルでは、以下の内容を学習します。
- 同じプロジェクトの開発ワークスペースと prod Fabric ワークスペースを作成します。
- 機能の変更を開発ワークスペースにデプロイします。
- Rayfin CLI を使用してデプロイを切り替えます。
- 検証済みのプロジェクトを prod ワークスペースに昇格します。
前提条件
- Fabric アカウント
- Node.js ローカルにインストールされます。
-
npx rayfinを介して利用可能な Rayfin CLI。 詳細については、 Rayfin CLI リファレンスを参照してください。
デプロイ フローの概要
- ローカル コンピューターから起動し、Fabric アプリを作成します。
- アプリの機能を構築します。
- ローカルでテストし、
npx rayfin up -workspace <dev-workspace>を使用して開発ワークスペースにデプロイします。 - コードの変更が適切にテストされたら、
npx rayfin up switch -workspace <prod-workspace>を使用して運用環境ワークスペースに直接再デプロイします。switchを使用すると、環境をデプロイ環境に切り替えることができます。
手順 1: Fabricで開発ワークスペースと prod ワークスペースを作成する
Fabric ポータルで 2 つのワークスペースを手動で作成します。
- Fabric ポータルで、my-app-dev という名前のワークスペースを作成します。 ワークスペース ID を記録します。
- my-app-prod という名前の 2 つ目のワークスペースを作成します。ワークスペース ID を記録します。
手順 2: Fabricにサインインする
CLI がテナントにデプロイできるように、Entra ID アカウントでサインインします。
npx rayfin login
特定のテナントをターゲットにするには、 --tenant渡します。
npx rayfin login --tenant <tenant id>
サインインしているアカウントをいつでも確認します。
npx rayfin login status
手順 3: プロジェクトをローカルに作成する
テンプレートから新しいFabric アプリをスキャフォールディングします。 プロジェクトに対して次のコマンドを 1 回実行します。
npm create @microsoft/rayfin@latest my-app --workspace my-app-dev
cd my-app
既存のプロジェクトに Rayfin を追加する場合は、代わりに npx rayfin init 実行します。
手順 4: 開発ワークスペースにデプロイする
プロジェクト ルートから、 my-app-dev にアプリをデプロイします。
npx rayfin up --workspace my-app-dev
CLI は、開発ワークスペースにFabricアプリ項目を作成し、データベース スキーマを適用し、静的ホスティングが有効になっている場合は静的コンテンツをアップロードします。 デプロイは rayfin/.envに記録され、開発ワークスペースは後続の npx rayfin up 呼び出しのアクティブなデプロイになります。
変更を適用せずにデプロイをプレビューするには、次を実行します。
npx rayfin up --dry-run --verbose
手順 5: 開発ワークスペースを使って開発と改善を繰り返す
機能を構築するときに、開発ワークスペースをターゲットとして使用します。
フロントエンド開発サーバーをローカルで実行します。
npm run devコード、データ モデル、または
rayfin/rayfin.ymlを編集します。必要に応じてスキーマのみの変更を適用します。
npx rayfin up db apply完全なアプリを開発に再デプロイします。
npx rayfin up
機能が昇格の準備ができるまで、このループを繰り返します。
手順 6: プロジェクトを prod ワークスペースに昇格させる
リリースする準備ができたら、同じプロジェクトを my-app-prod にデプロイします。
npx rayfin up --workspace my-app-prod
CLI は、prod ワークスペースに個別のFabric アプリ項目を作成し、2 つ目のデプロイを記録します。 Prod が新たなアクティブなデプロイ先となり、rayfin/.env はそれを指すように書き換えられます。
手順 7: 開発と運用のデプロイを切り替える
ワークスペース ID を再入力せずに、 npx rayfin up switch を使用して、記録された 2 つのデプロイ間を移動します。
プロジェクトに記録されたデプロイを一覧表示します。
npx rayfin up list
切り替え先のデプロイを選択してください:
npx rayfin up switch --list
開発環境に戻って機能開発を続けます:
npx rayfin up switch my-app-dev
ホットフィックスまたは検証のために prod に切り替える:
npx rayfin up switch my-app-prod
切り替えた後、プレーン npx rayfin up コマンドは新しくアクティブなワークスペースを対象とします。
手順 8: prod デプロイを検証する
prod にデプロイした後、デプロイが正常であることを確認します。
npx rayfin up status
CLI によって出力されたホスティング URL を開き、アプリが期待どおりに動作するかどうかを確認します。 問題が見つかる場合:
dev に戻ります。
npx rayfin up switch my-app-dev開発ワークスペースに対する問題を再現して修正します。
開発に再デプロイし、検証してから prod に切り替え、
npx rayfin up実行して修正プログラムをリリースします。
推奨プラクティス
- ソース コードをバージョン管理に保持します。
rayfin/.envは、信頼できるソースとしてではなく、アクティブなデプロイへのローカル ポインターとして扱います。 - 進行中の作業には機能ブランチを使用し、開発デプロイが検証された後にのみメイン ブランチにマージします。
- CLI によって明示的に推奨される場合は、
npx rayfin up --forceを予約します。 prod に対して定期的に実行しないでください。 - prod デプロイの前に
--dry-runを使用して、CLI が実行するアクションをプレビューします。 - prod に昇格する前に、
rayfin.ymlで認証設定を確認します。デプロイされたアプリでは、Fabricブローカー認証 (Entra SSO) のみがサポートされます。 詳細については、「Fabric アプリを Fabric を参照してください。