
Andrew Hanna

Andrew Hanna

Kurze Antwort: Ein AppExchange-Release läuft in fünf Schritten ab: eine Beta-Paketversion erstellen, sie validieren, sie zu released promoten, sie mit dem Listing verknüpfen und danach die Subscriber umziehen. Jede Second-Generation-Managed-Package-Version wird als Beta geboren, das Promoten ist eine Einbahnstraße, und nur Pakete mit bestandener Security Review lassen sich in Subscriber-Orgs pushen.
sf package version promote macht aus der
Beta eine released Version.
Die meisten ISV-Teams machen alle fünf Schritte irgendwo. Was in der Regel fehlt, ist die Reihenfolge, das Tor zwischen den Schritten und ein verlässliches Verzeichnis darüber, welche Subscriber-Org auf welcher Version läuft.
Über die Upgradefähigkeit entscheidet die Ancestry, nicht die
Versionsnummer, die Sie getippt haben. Jede neue 2GP-Version deklariert einen
Vorgänger in sfdx-project.json, und Salesforce empfiehlt
ancestorVersion: HIGHEST, damit der Vorgänger automatisch Ihrer höchsten
promoteten Version folgt. Bestehende Kunden können nicht auf eine Version
aktualisieren, die ohne angegebenen Vorgänger erstellt wurde. Ein einziger Build ohne
Vorgänger erzeugt also eine Version, die niemand erreicht.
Das Promoten ist das wichtigste Tor, weil es sich nicht rückgängig machen lässt.
Das Promoten sollte aus der Pipeline heraus laufen, hinter genau einer expliziten menschlichen Freigabe, und nie von dem Laptop, der gerade am Dev Hub angemeldet ist. Die Berechtigung zum Promoten ist selbst eine Kontrolle: Vergeben Sie sie über ein Permission Set statt an alle mit CLI-Zugang.
Beim ersten Listing liegt die Security Review zwischen Validierung und Veröffentlichung und ist der längste Posten im Kalender. Bei Updates sieht es anders aus. Für jeden Patch oder jedes Upgrade ist keine vollständige Review nötig, und über die Veröffentlichung entscheidet der Status des Listings. Steht dort Ready to List, können Sie das aktualisierte Listing veröffentlichen, ohne die neue Version einzureichen. Steht dort Security Review Required, können Sie erst veröffentlichen, wenn diese Version besteht.
Salesforce führt außerdem periodische Re-Reviews durch, und eine Version mit erheblichen Änderungen löst sie eher aus. Planen Sie Reviewzeit also für Releases ein, die Architektur, Authentifizierung oder ausgehende Aufrufe verändern, und nicht mehr für gewöhnliche Fehlerkorrekturen. Prüfen Sie die aktuellen Regeln im ISVforce-Leitfaden zur Aktualisierung eines Listings, bevor Sie ein Quartal darauf aufbauen.
Drei Hebel, vom schwächsten zum stärksten Eingriff:
Ein stufenweiser Rollout, der hält: zuerst die eigenen Orgs, dann Partner- und Sandbox-Orgs, dann eine kleine Gruppe einverstandener Kunden, dann alle übrigen in geplanten Batches außerhalb der Spitzenzeiten. Lassen Sie zwischen den Gruppen so viel Zeit, dass ein echtes Supportticket eintreffen kann, und das ist in der Regel ein voller Arbeitstag, keine Stunde.
Punkt vier schieben Teams auf und bereuen es, denn die Supportqualität hängt stärker daran als an allem anderen. Serpent deckt 1GP-, 2GP- und Managed-Package-Workflows, die Auflösung paketübergreifender Abhängigkeiten und das Versionsmanagement über Subscriber-Orgs in jedem Tarif ab, auch im kostenlosen. Weitere Packaging-Playbooks finden Sie in unserer SF-Guides-Bibliothek.
Kann ich das Promoten einer Paketversion rückgängig machen?
Nein. Eine Versionsnummer lässt sich nur einmal promoten und releasen, und die Änderung ist endgültig. Behandeln Sie das Promoten daher als Release-Entscheidung, nicht als Build-Schritt.
Brauche ich für jedes Release eine neue Security Review?
Nein. Eine vollständige Review ist nicht für jeden Patch oder jedes Upgrade nötig. Die Veröffentlichung hängt vom Status Ihres Listings ab, und Salesforce kann bei erheblichen Änderungen weiterhin eine periodische Re-Review verlangen.
Warum kann mein Kunde nicht auf meine neueste Version aktualisieren?
Meist wegen der Ancestry. Bestehende Kunden können nicht auf eine Version aktualisieren, die ohne angegebenen Vorgänger erstellt wurde. Prüfen Sie also zuerst den Vorgänger.
Was unterscheidet eine empfohlene Version von einem Push Upgrade?
Eine empfohlene Version zeigt dem Subscriber die Option Upgrade to Recommended Version und überlässt ihm den Zeitpunkt. Ein Push Upgrade verschiebt seine Org für ihn, nach Ihrem Zeitplan.
Zählt eine Beta als Release?
Nein. Jede 2GP-Version startet als Beta und ist nur zum Testen installierbar. Zum Release wird sie in dem Moment, in dem Sie sie promoten.
Unverbindlich.