Eine Fabric-App in Fabric bereitstellen

Stellen Sie eine Fabric-App für Fabric bereit, indem Sie sich anmelden, den CLI-Bereitstellungsablauf ausführen und überprüfen, was npx rayfin up für Ihre App konfiguriert. In diesem Artikel wird das Konzept erläutert, was während der Bereitstellung geschieht.

Voraussetzungen

  • Ein Fabric Apps-Projekt mit einer konfigurationsdatei rayfin/rayfin.yml. Wenn Sie noch kein Projekt haben, lesen Sie den Artikel Erstellen Ihres ersten Fabric Apps-Projekts.
  • Ein Microsoft Entra ID Konto mit Zugriff auf einen Fabric Arbeitsbereich.

Stellen Sie Ihre Anwendung bereit

Führen Sie den folgenden Befehl aus dem Projektstamm aus:

npx rayfin up

Wenn Sie nicht angemeldet sind, startet die CLI automatisch einen interaktiven Anmeldefluss.

Was die Bereitstellung bewirkt

Der rayfin up Befehl führt die folgenden Schritte in der folgenden Reihenfolge aus:

  1. Erstellt ein Fabric Apps-Element in Ihrem Fabric Arbeitsbereich (oder verwendet das vorhandene Element für nachfolgende Bereitstellungen).
  2. Ruft den veröffentlichungsfähigen Schlüssel vom Remotedienst ab.
  3. Synchronisiert Laufzeiteinstellungen von Ihrem rayfin.yml mit dem Remotedienst, einschließlich Authentifizierungskonfiguration und Dienstkennzeichnungen.
  4. Wendet das datenbankschema an, das aus Ihren TypeScript-Datenmodelldekorzierern generiert wurde.
  5. Erstellt und bereitstellt statischen Inhalt, wenn staticHosting in rayfin.yml aktiviert ist – führt den Build-Befehl aus, packt den Ausgabeordner in eine ZIP-Datei und lädt ihn hoch.
  6. Speichert Bereitstellungsdetails in den Dateien rayfin.yml und .env.fabric-* für nachfolgende Bereitstellungen.

Nach der Bereitstellung gibt die CLI Folgendes aus:

  • Die Hosting-URL, in der Ihre App live ist
  • Ein Fabric-Portal-Link zur Verwaltung der Bereitstellung
  • Die Bereitstellungs-ID zur Referenz

Authentifizierung konfigurieren

Nur Fabric brokered authentication (Entra SSO) wird für bereitgestellte Anwendungen unterstützt. Die E-Mail- und Kennwortauthentifizierung ist während der lokalen Entwicklung verfügbar, funktioniert aber nach der Bereitstellung für Fabric nicht.

Stellen Sie sicher, dass für Ihr rayfin.yml die Fabric-Authentifizierung aktiviert ist, bevor Sie rayfin up ausführen:

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

Vorschau der Bereitstellung ohne Änderungen

Verwenden Sie --dry-run, um zu sehen, was die CLI tun würde, ohne Ressourcen zu erstellen oder zu verändern:

npx rayfin up --dry-run

Anwenden von Datenbankänderungen

Nachdem Sie Ihre Datenmodelle aktualisiert haben, können Sie Schemaänderungen an die entfernte Datenbank übertragen, ohne den gesamten Stack neu bereitzustellen:

npx rayfin up db apply

Wenn die Schemaänderung potenziell destruktive Vorgänge (Löschen von Spalten, Umbenennen von Tabellen) umfasst, warnt Sie die CLI und lehnt den Vorgang ab. Verwenden Sie --force diese Option, um die Sicherheitsüberprüfung außer Kraft zu setzen:

npx rayfin up db apply --force

Vorsicht

Die Verwendung --force kann zu Datenverlust führen. Überprüfen Sie die aufgeführten Vorgänge sorgfältig, und bestätigen Sie, dass Sie die Konsequenzen akzeptieren, bevor Sie fortfahren.

Erneutes Bereitstellen statischer Inhalte

Wenn Sie nur Frontend-Code geändert haben, stellen Sie statische Inhalte unabhängig für einen schnelleren Iterationszyklus erneut bereit:

npx rayfin up staticapp deploy

Mit diesem Befehl wird die konfigurierte buildCommandDatei ausgeführt, die Ausgabe verpackt und in den Remotedienst hochgeladen.

So überspringen Sie den Buildschritt und stellen die vorhandene Ausgabe bereit:

npx rayfin up staticapp deploy --skip-build

Überprüfen des Bereitstellungsstatus

Zeigen Sie den aktuellen Status Ihrer Fabric-Bereitstellung an:

npx rayfin up status

Fügen Sie --json für die maschinenlesbare Ausgabe hinzu:

npx rayfin up status --json

Aktualisieren vorhandener Bereitstellungen

Nach der ersten Bereitstellung speichert rayfin.yml die Bereitstellungsdetails (rayfinItemId, fabricWorkspaceId und den Element-Endpunkt). Durch die erneute Ausführung npx rayfin up wird die gleiche Bereitstellung aktualisiert, anstatt eine neue Bereitstellung zu erstellen.

Verwenden Sie für gezielte Updates die Unterbefehle:

Befehl Was aktualisiert wird
npx rayfin up Alles: Einstellungen, Datenbank und statische Inhalte.
npx rayfin up db apply Nur Datenbankschema.
npx rayfin up staticapp deploy Nur statischer Inhalt.

Bereitstellungsprobleme beheben

Die Bereitstellung schlägt mit dem Fehler 401 oder 403 fehl

Ihre Sitzung ist möglicherweise abgelaufen. Führen Sie den Vorgang npx rayfin login aus, um die Authentifizierung erneut zu erstellen, und versuchen Sie es dann erneut npx rayfin up.

Datenbank-Apply-Berichte melden destruktive Änderungen

Die Rayfin CLI blockiert Schemaänderungen, die zu Datenverlusten führen könnten. Überprüfen Sie die aufgelisteten Vorgänge und verwenden Sie npx rayfin up db apply --force nur, nachdem Sie bestätigt haben, dass Sie den Datenverlust in Kauf nehmen.

Statisches Deployment überschreitet das Größenlimit.

Das komprimierte Archiv darf 100 MB nicht überschreiten. Optimieren Sie Ihre Buildausgabe, indem Sie Source Maps und große Entwicklungsressourcen ausschließen oder Binärdateien in den Fabric-App-Speicher verschieben.

Verwalten Ihrer App im Fabric-Portal

Nach der Bereitstellung können Sie Ihre Fabric-App direkt im portal Fabric verwalten.

Elementeigenschaften anzeigen

Öffnen Sie die Fabric-App im Fabric Portal, um Folgendes anzuzeigen:

  • App-URL – Die öffentliche URL, in der Ihre statischen Inhalte gehostet werden.
  • App-Back-End-URL – Die Basis-URL für alle Back-End-Dienste.

Verwalten von untergeordneten Diensten

Wählen Sie die Fabric-App aus, um die untergeordneten Dienste anzuzeigen:

  • SQL-Datenbank – Öffnet den Fabric SQL-Abfrage-Editor. Sie können Leseabfragen für Ihre Daten ausführen. Schemaänderungen, die direkt im Fabric-Portal vorgenommen wurden, werden im nächsten rayfin up deploy überschrieben.
  • Authentifizierung – Anzeigen und Verwalten authentifizierter Benutzer in der Tabelle "Benutzer " in der untergeordneten SQL-Datenbank.

App-Berechtigungen

Alle Mitwirkenden an der Fabric-App benötigen mindestens die Edit-Berechtigung für das Element, um eine Fabric-App bereitzustellen.