Andrew Hanna

Andrew Hanna

Click Deploy zurücksetzen: So machen Sie ein Salesforce-Deployment rückgängig

Click Deploy zurücksetzen: So machen Sie ein Salesforce-Deployment rückgängig

Kurz gesagt: Ein Click Deploy in Salesforce hat keinen nativen Rückgängig-Knopf. Die Metadata API setzt ein fehlgeschlagenes Deployment zurück, doch nach einem erfolgreichen heißt Zurückgehen: die vorherige Version erneut deployen, Hinzugefügtes löschen und Daten von Hand wiederherstellen. Erstellen Sie einen Snapshot, bevor Sie klicken, oder nutzen Sie ein Tool, das das für Sie erledigt.

Was ist ein Click Deploy in Salesforce?

Ein Click Deploy verschiebt Metadaten über eine Oberfläche zwischen Orgs: Sie vergleichen Quelle und Ziel, haken die geänderten Komponenten an, validieren und deployen, ohne Change Set und ohne Kommandozeile. Der Begriff stammt von ClickDeploy, das Copado heute als Copado Essentials verkauft; Tool und Preise behandeln wir in wie ClickDeploy funktioniert und was es kostet. Die meisten Leitfäden enden beim Deploy. Dieser behandelt, was passiert, wenn Sie ihn zurücknehmen müssen.

Was passiert, wenn ein Click Deploy fehlschlägt?

In Produktion ändert sich nichts. Salesforce akzeptiert dort nur Deployments nach dem Alles-oder-nichts-Prinzip (die Option rollbackOnError muss true sein), also setzt die Metadata API bei einem Fehler die gesamte Transaktion zurück und die Org bleibt unverändert. Die Salesforce CLI setzt standardmäßig zurück und erlaubt zwar, das mit --ignore-errors zu umgehen, doch ihre eigene Referenz sagt, dass Sie das niemals gegen Produktion verwenden sollen: Fehlerhafte Komponenten werden übersprungen und die Org kann inkonsistent werden. Schlägt ein Deploy fehl, beheben Sie die Ursache und starten Sie ihn erneut; unser Leitfaden zu Click-Deploy-Fehlern geht die üblichen Ursachen durch.

Kann man einen erfolgreichen Click Deploy rückgängig machen?

Nicht nativ. Wie Gearset es formuliert, können weder Change Sets noch DevOps Center ein Deployment rückgängig machen, und Change Sets erlauben auch keine destruktiven Änderungen. Ein erfolgreicher Deploy ist schlicht der neue Zustand der Org. Um zurückzugehen, starten Sie ein zweites Deployment, das den alten Zustand wiederherstellt, und das klappt nur, wenn Sie eine Kopie davon aufbewahrt haben.

Deshalb ist das Backup der entscheidende Schritt, nicht das Rollback. Hat niemand die Zielkomponenten vor dem Klick gesichert, bauen Sie sie aus dem Gedächtnis nach.

Wie setzen Sie einen Click Deploy Schritt für Schritt zurück?

  1. Entscheiden: zurücksetzen oder nach vorn korrigieren. Ist die Ursache klar und die Korrektur klein, erhält ein Fix den Rest des Releases. Setzen Sie zurück, wenn die Diagnose zu lange dauert oder die Änderung aktiv Schaden anrichtet.
  2. Die Version von vor dem Deploy finden. Nutzen Sie den Snapshot Ihres Tools oder den letzten Git-Commit, der der Produktion entspricht. Fehlt beides, holen Sie, was möglich ist, aus einer Sandbox, die seitdem nicht aktualisiert wurde.
  3. Das Rollback-Paket bauen. Komponenten, die der Deploy geändert hat, kommen in ihrer vorherigen Version zurück. Komponenten, die er hinzugefügt hat, kommen in ein destructiveChangesPost.xml-Manifest, damit sie nach erfolgreicher Wiederherstellung gelöscht werden.
  4. Zuerst validieren. Führen Sie es als Check-only-Deployment aus (--dry-run in der CLI), mit demselben Apex-Testlevel wie bei jedem Produktions-Release.
  5. Deployen und prüfen. Deployen Sie und testen Sie danach die betroffenen Seiten, Flows und Integrationen. Halten Sie fest, was zurückgesetzt wurde und warum.
  6. Die Daten prüfen. Ein Metadaten-Rollback stellt keine Datensätze wieder her. Behandeln Sie Daten separat, wie unten beschrieben.

An Schritt 2 und 3 scheitern die meisten Rollbacks. Deshalb macht die Click-Deploy-Checkliste das Backup zum Teil der Vorbereitung und nicht zum Nachgedanken.

Welche Click-Deploy-Tools bieten Rollback?

  • Copado Essentials: Wählen Sie Deploy with backup, dann erscheint laut Help Center ein Rollback-Button am Deployment-Datensatz. Rollbacks von CI-Jobs setzen ein Git-Repository als Quelle voraus.
  • Gearset: speichert laut Dokumentation vor jedem Deployment einen Snapshot der Metadaten der Ziel-Org und unterstützt vollständige oder teilweise Rollbacks.
  • AutoRABIT: Rollback funktioniert laut Knowledge Base nur, wenn beim ursprünglichen Deployment Take Backup aktiviert war, und erlaubt das Ausschließen von Komponenten.

Stellen Sie Salto, Flosum, Blue Canvas und jedem anderen Tool auf Ihrer Shortlist dieselben zwei Fragen: Läuft das Backup automatisch oder muss man es aktivieren, und lässt sich eine einzelne Komponente zurücksetzen, ohne das ganze Release zurückzunehmen?

Was kann ein Rollback nicht rückgängig machen?

  • Daten. Deployment-Rollbacks betreffen nur Metadaten. Datensätze, die ein neuer Flow oder Trigger geändert hat, bleiben geändert.
  • Gelöschte Felder, sauber. Salesforce bewahrt ein gelöschtes benutzerdefiniertes Feld 15 Tage auf, doch Salesforce Ben listet auf, was Sie nach dem Wiederherstellen selbst neu einrichten müssen, etwa Pflicht- und Eindeutigkeitseinstellungen oder die Feldverlaufsverfolgung.
  • Einen Purge. Löschen mit --purge-on-delete umgeht den Papierkorb, es gibt also nichts wiederherzustellen.

Die verlässlichere Lösung ist eine Historie, die Sie erneut abspielen können. Wer aus einem Branch deployt, hat jedes Release committet, bevor es live ging, wie Click Deploy aus Git zeigt.

Wie handhabt Tekunda Rollbacks?

Tekunda ist das Salesforce-Beratungs- und Produktunternehmen hinter Serpent, der DevOps-Plattform, die es auch für die eigene Kundenarbeit nutzt. Serpent behält den Klick-und-Auswahl-Workflow bei, während Git und Pull Requests darunter laufen, sodass jedes Release eine Version hat, zu der Sie zurückkehren können. Rollback ist ein Klick, für eine einzelne Komponente oder ein ganzes Release. Teams auf Copado folgen unserem Migrationspfad, die Pläne stehen auf der Preisseite, und weitere Leitfäden finden Sie in der SF-Guides-Bibliothek.

FAQ

Hat Salesforce einen Rollback-Button für Deployments?

Nein. Change Sets und DevOps Center können kein Deployment rückgängig machen. Sie deployen die vorherige Version erneut oder nutzen ein Tool, das die Org vorher sichert.

Ändert ein fehlgeschlagener Click Deploy etwas?

Nicht in Produktion, wo Salesforce Alles-oder-nichts-Deployments vorschreibt. Auch die Salesforce CLI setzt bei einem Fehler zurück, außer Sie übergeben --ignore-errors.

Kann ich mit einem Deployment-Rollback Daten zurückholen?

Nein. Rollbacks stellen nur Metadaten wieder her; Datensätze brauchen ein separates Daten-Backup und -Restore.

Wie lange kann ich ein gelöschtes benutzerdefiniertes Feld wiederherstellen?

15 Tage, sofern es nicht endgültig gelöscht oder gepurged wurde. Einige Eigenschaften müssen Sie danach von Hand wiederherstellen.

Ähnliche Artikel

Neugierig auf schnelleres Shipping, bevor Sie einsteigen? Sprechen wir

Unverbindlich.