Veröffentlichen einer App über Release-Kanäle

Unter diesem Thema wird beschrieben, wie Sie mit Hilfe von Release-Kanälen mehrere Versionen einer Snowflake Native App verwalten und veröffentlichen können.

Allgemeine Informationen zu Release-Kanälen

Release-Kanäle ermöglichen es Anbietern, Apps in verschiedenen Stagingbereichen des Lebenszyklus der App-Entwicklung zu veröffentlichen. Ein Anbieter kann beispielsweise Release-Kanäle verwenden, um die folgenden Aufgaben auszuführen:

  • Testen Sie eine App.

  • Veröffentlichen Sie eine App für Verbraucher als Vorschau oder für UAT (Benutzerakzeptanztests).

  • Veröffentlichen Sie die Anwendung in einer Produktionsumgebung.

Anbieter aktivieren Release-Kanäle für das Anwendungspaket. Mit Release-Kanälen kann ein Anbieter mehr als zwei Versionen einer Anwendung erstellen. Die Begrenzung auf zwei Versionen gilt für jeden Release-Kanal und nicht für jedes Anwendungspaket.

Unterstützte Release-Kanäle

Die Snowflake Native App Framework unterstützt die folgenden Release-Kanäle. Welchen Release-Kanäle ein Anbieter verwendet, hängt vom aktuellen Stagingbereich des Lebenszyklus der Anwendungsentwicklung ab.

  • QA: Versionen und Patches einer Anwendung, die diesem Release-Kanal zugewiesen sind, sind nur für Verbraucher innerhalb des Unternehmens des Anbieters verfügbar. Anwendungen, die über diesen Release-Kanal veröffentlicht werden, müssen für ein bestimmtes Konto innerhalb dieser Organisation bestimmt sein.

    Anbieter können diesen Release-Kanal zum Testen verwenden. Anwendungen, die über den QA-Release-Kanal veröffentlicht werden, müssen nicht den automatischen Sicherheitsscan ausführen.

  • ALPHA: Versionen und Patches einer Anwendung, die diesem Release-Kanal zugewiesen ist, können für Verbraucher außerhalb des Unternehmens des Anbieters veröffentlicht werden. Wenn eine Anwendung diesem Release-Kanal zugewiesen wird, wird die automatische Sicherheitsüberprüfung durchgeführt.

    Während die Sicherheitsprüfung läuft, kann der Anbieter die Release-Richtlinie für diese Version festlegen, und die Verbraucher können sie in ihren Konten installieren. Wenn jedoch eine Version, die diesem Release-Kanal zugeordnet ist, die Sicherheitsüberprüfung nicht besteht, kann sie nicht mehr verwendet werden.

    Anbieter können diesen Kanal nutzen, um mit Verbrauchern während der Entwicklung einer Anwendung zusammenzuarbeiten.

  • DEFAULT: Versionen und Patches einer Anwendung, die diesem Release-Kanal zugewiesen sind, stehen allen Verbrauchern zur Verfügung, die Zugriff auf die Anwendungsversion oder den Patch haben. Anwendungen, die diesem Release-Kanal zugewiesen sind, müssen die automatische Sicherheitsüberprüfung bestehen.

    Dieser Release-Kanal ist der Produktions-Release-Kanal. Alle Anwendungen, die diesem Release-Kanal zugewiesen werden, müssen den Sicherheitsanforderungen und Richtlinien für die Veröffentlichung einer Anwendung entsprechen. Weitere Informationen dazu finden Sie unter Anforderungen an die Sicherheit und Richtlinien für eine Snowflake Native App.

Erforderliche Berechtigungen für die Nutzung von Release-Kanälen

Um Release-Kanäle zu verwenden, müssen Sie eine Rolle verwenden, der die Berechtigung MANAGE RELEASES erteilt wurde. Diese Berechtigung erlaubt Ihnen Folgendes:

  • Aktivieren der Release-Kanäle für das Anwendungspaket.

  • Aktivieren der Release-Kanäle QA und ALPHA.

  • Registrieren und Deregistrieren von Versionen und Patches.

  • Hinzufügen von Versionen und Patches.

  • Festlegen der Release-Richtlinie.

Release-Kanäle für ein Anwendungspaket aktivieren

Um Release-Kanäle zum Verwalten und Veröffentlichen einer Anwendung zu verwenden, müssen Anbieter Release-Kanäle mit der Klausel ENABLE_RELEASE_CHANNELS des Anwendungspakets aktivieren wie in den folgenden Befehlen gezeigt:

CREATE APPLICATION PACKAGE my_app_package ENABLE_RELEASE_CHANNELS=TRUE;
ALTER APPLICATION PACKAGE my_app_package SET ENABLE_RELEASE_CHANNELS=TRUE;
Copy

Warnung

Nachdem Release-Kanäle für ein Anwendungspaket aktiviert wurden, können sie nicht mehr deaktiviert werden.

Aktivieren der Release-Kanäle ALPHA und QA

Standardmäßig steht allen Verbrauchern nur der Release-Kanal DEFAULT zur Verfügung, über den sie eine Freigabeangebot installieren können, auf das sie Zugriff haben.

Um die Release-Kanäle QA und ALPHA nutzen zu können, müssen Anbieter sie im Anwendungspaket für bestimmte Konten ausdrücklich aktivieren. Für diese Kanäle verwaltet das Anwendungspaket eine Liste der Konten, die den einzelnen Kanälen hinzugefügt wurden.

Anbieter können mit der Klausel MODIFY RELEASE CHANNEL des Befehls ALTER APPLICATION ein Konto zu einem Release-Kanal hinzufügen.

So fügen Sie das Konto ORG1.ACCOUNT1 zum Release-Kanal ALPHA hinzu:

ALTER APPLICATION PACKAGE my_app_package MODIFY RELEASE CHANNEL ALPHA ADD ACCOUNTS=(ORG1.ACCOUNT1);
Copy

So entfernen Sie das Konto ORG1.ACCOUNT1 aus dem Release-Kanal ALPHA:

ALTER APPLICATION PACKAGE my_app_package MODIFY RELEASE CHANNEL ALPHA REMOVE ACCOUNTS=(ORG1.ACCOUNT1);
Copy

Um die aktuelle Liste der Konten, die einem Release-Kana hinzugefügt wurden, zu überschreiben, kann ein Anbieter die Klausel SET des Befehls ALTER APPLICATION PACKAGE verwenden wie im folgenden Beispiel gezeigt:

ALTER APPLICATION PACKAGE my_app_package MODIFY RELEASE CHANNEL ALPHA SET ACCOUNTS=(ORG1.ACCOUNT2);
Copy

Mit diesem Befehl werden alle aktuellen Konten aus dem Release-Kanal ALPHA entfernt und das Konto ORG1.ACCOUNT2 hinzugefügt.

Überwachung der Release-Kanäle

Anzeigen der in einem Anwendungspaket oder einem Freigabeangebot definierten Release-Kanäle

Um die im Anwendungspaket definierten Release-Kanäle anzuzeigen, verwenden Sie den Befehl SHOW RELEASE CHANNELS wie im folgenden Beispiel gezeigt:

SHOW RELEASE CHANNELS IN APPLICATION PACKAGE my_app_package;
Copy

Um die für ein Freigabeangebot definierten Release-Kanäle anzuzeigen, verwenden Sie den Befehl SHOW RELEASE CHANNELS wie im folgenden Beispiel gezeigt:

SHOW RELEASE CHANNELS IN LISTING <listing_id>;
Copy

Den Release-Kanal einer installierten Anwendung anzeigen

Um die Release-Kanäle für alle installierten Instanzen einer Anwendung anzuzeigen, sehen Sie sich die Spalte current_release_channel_name der Ansicht SNOWFLAKE.DATA_SHARING_USAGE.APPLICATION_STATE an.

Verwalten von Versionen und Patches über Release-Kanäle

Anbieter müssen eine Version oder einen Patch zu einem bestimmten Release-Kanal hinzufügen, bevor sie von Release-Richtlinien innerhalb eines Release-Kanals verwendet werden können. Nachdem eine Version zu einem Release-Kanal hinzugefügt wurde, sind nachfolgende Patches für diese Version ebenfalls an diesen Release-Kanal gebunden und können verwendet werden.

Bemerkung

Die Klausel ADD VERSION USING ‘@stage/path’ des Befehls ALTER APPLICATION PACKAGE wird nicht für Anwendungspakete unterstützt, bei denen Release-Kanäle aktiviert sind. Anbieter müssen eine Version im Anwendungspaket registrieren und deregistrieren.

Eine Version registrieren

Bevor Sie eine neue Version einer Anwendung zu einem Anwendungspaket mit Release-Kanälen hinzufügen, müssen Anbieter die Version im Release-Kanal registrieren, indem Sie die Klausel REGISTER des Befehls ALTER APPLICATION PACKAGE verwenden:

ALTER APPLICATION PACKAGE my_app_package REGISTER VERSION V1 USING '@stage/path';
Copy

Dieser Befehl erstellt die Version V1 der Anwendung und erstellt auch Patch 0. Diese Version ist keinem Release-Kanal zugeordnet. Im Anwendungspaket sind maximal zwei nicht zugewiesene Versionen (die nicht zu einem Release-Kanal hinzugefügt wurden) erlaubt.

Eine Version deregistrieren

Um eine neue Version in einem Anwendungspaket zu erstellen, das bereits zwei Versionen hat, müssen Anbieter eine alte Version deregistrieren.

Um eine Version und die zugehörigen Patches zu deregistrieren, verwenden Sie die Klausel DEREGISTER der ALTER APPLICATION PACKAGE. Der folgende Befehl zeigt, wie Sie die Version v1 aus dem Anwendungspaket deregistrieren:

ALTER APPLICATION PACKAGE my_app_package DEREGISTER VERSION v1;
Copy

Bemerkung

Wenn Sie Release-Kanäle verwenden, müssen Sie die vorhandene Version nicht aus dem Anwendungspaket entfernen.

Hinzufügen einer Version zu einem Release-Kanal

Nachdem Sie eine neue Version einer Anwendung im Anwendungspaket registriert haben, müssen Sie die Version explizit zu einem Release-Kanal hinzufügen, um die Release-Richtlinie für die Anwendung festzulegen.

Um eine Version zu einem Release-Kanal hinzuzufügen, verwenden Sie die Klausel ADD VERSION des Befehls ALTER APPLICATION PACKAGE:

ALTER APPLICATION PACKAGE my_app_package MODIFY RELEASE CHANNEL QA ADD VERSION V1;
Copy

Bemerkung

Ein Release-Kanal kann nur zwei gleichzeitige Versionen enthalten.

Eine Version aus einem Release-Kanal entfernen

Um eine Version aus einem Release-Kanal zu entfernen, verwenden Sie die Klausel DROP des Befehls ALTER APPLICATION PACKAGE:

ALTER APPLICATION PACKAGE my_app_package MODIFY RELEASE CHANNEL QA DROP VERSION V1;
Copy

Das Entfernen einer Version aus einem Release-Kanal erfolgt asynchron und sie wird erst dann wirklich entfernt, wenn alle Verbraucher von dieser Version aktualisiert wurden.

Release-Richtlinie mithilfe eines Release-Kanals festlegen

Wenn Release-Kanäle für ein Anwendungspaket aktiviert sind, hat jeder Kanal seine eigene Release-Richtlinie.

So legen Sie die Standard-Release-Richtlinie für einen Release-Kanal fest:

ALTER APPLICATION PACKAGE my_app_package
  MODIFY RELEASE CHANNEL ALPHA
  SET DEFAULT RELEASE DIRECTIVE VERSION=v1 PATCH=10;
Copy

So legen Sie eine benutzerdefinierte Release-Richtlinie für einen Release-Kanal fest:

ALTER APPLICATION PACKAGE my_app_package
  MODIFY RELEASE CHANNEL ALPHA
  SET RELEASE DIRECTIVE my_custom_release_directive
  VERSION=V1 PATCH=11 ACCOUNTS=(ORG1.ACCOUNT1);
Copy

Aktivieren mehrerer Instanzen mithilfe von Release-Kanälen

Sie können Verbrauchern erlauben, mehrere Instanzen einer Anwendung in ihrem Konto zu erstellen. Anbieter können auch mehrere Instanzen einer Anwendung in ihrem Testkonto erstellen.

Um mehrere Instanzen zu aktivieren, verwenden Sie die Eigenschaft MULTIPLE_INSTANCES des Anwendungspakets wie in den folgenden Befehlen gezeigt:

CREATE APPLICATION PACKAGE <name> MULTIPLE_INSTANCES=TRUE;
ALTER APPLICATION PACKAGE <name> SET MULTIPLE_INSTANCES=TRUE;
Copy

Bemerkung

Die Aktivierung mehrerer Instanzen für das Anwendungspaket gilt für alle Release-Kanäle innerhalb des Anwendungspakets.

Monetarisierung und Release-Kanäle

Alle Anwendungsinstanzen, die über den Release-Kanal DEFAULT installiert werden, verwenden den für das Freigabeangebot konfigurierten Preisplan.

Anwendungsinstanzen, die über die Release-Kanäle ALPHA und QA installiert werden, sind kostenlos und verwenden nicht den für das Freigabeangebot konfigurierten Preisplan.

Installieren einer Anwendung mithilfe von Release-Kanälen

Anbieter können CREATE APPLICATION verwenden, um eine Anwendung aus einem Release-Kanal in ihrer Testumgebung zu erstellen.

Bemerkung

Um eine Anwendung aus den Release-Kanälen QA oder ALPHA zu installieren, müssen Sie eine Rolle verwenden, der die Berechtigung CREATE PREVIEW APPLICATION erteilt wurde.

Um eine Anwendung aus einem Anwendungspaket im selben Konto zu installieren, führen Sie den folgenden Befehl aus:

CREATE APPLICATION my_app
  FROM APPLICATION PACKAGE my_app_package
  USING RELEASE CHANNEL QA;
Copy

Wenn Sie die Klausel USING RELEASE CHANNEL nicht ausdrücklich verwenden, wird der Release-Kanal DEFAULT verwendet.

  • Um eine Anwendung aus einem Freigabeangebot heraus in einem anderen Konto zu installieren, führen Sie den folgenden Befehl aus:

CREATE APPLICATION my_app
  FROM LISTING
  USING RELEASE CHANNEL QA;
Copy

Wenn Sie die Klausel USING RELEASE CHANNEL nicht ausdrücklich verwenden, wird der Release-Kanal DEFAULT verwendet.