
Andrew Hanna

Andrew Hanna

Ein Sandbox-Refresh-Runbook, dem Ihr Team folgt, ist kurz, liegt neben Ihrem Code und gibt jedem Schritt einen Verantwortlichen, eine Zeitschätzung und eine Prüfung, die belegt, dass er erledigt ist. Die meisten Refresh-Dokumente scheitern, weil sie lange Wiki-Seiten sind, für die niemand zuständig ist. Schreiben Sie Ihres als Checkliste in vier Phasen, automatisieren Sie die Schritte, die gern übersprungen werden, und proben Sie es einmal, bevor Sie sich darauf verlassen.
Ein Sandbox-Refresh-Runbook ist die Schritt-für-Schritt-Anleitung, die Ihr Team jedes Mal ausführt, wenn eine Salesforce-Sandbox aus der Produktion aktualisiert wird: was vorher gesichert wird, was danach wiederhergestellt wird, wer welchen Schritt übernimmt und woran Sie erkennen, dass es funktioniert hat. Es ist nicht Ihre Sandbox-Strategie, die festlegt, welche Sandboxes es gibt und warum. Das Runbook ist der Teil, den man am Morgen des Refreshs abarbeitet.
Salesforce begrenzt Ihren Rhythmus, also stellen Sie die Grenzen an den Anfang des Runbooks. Laut dem Sandbox-Leitfaden von Salesforce Ben:
Ein verpatzter Full-Refresh kann Sie einen Monat kosten, deshalb verdient dieses Runbook die größte Sorgfalt.
Schreiben Sie jeden Schritt im gleichen Format:
Schritt | Verantwortlich | automatisiert? | Minuten | erledigt wenn.
Gruppieren Sie die Schritte dann in vier Phasen.
.invalid nur für Nutzer, die in der Sandbox
E-Mails brauchen. Salesforce hängt es bei jedem Refresh oder Klon an die
E-Mail-Adressen der Nutzer an, wie der
Hilfeartikel
erklärt.
Automatisieren Sie die Schritte, die häufig, fehleranfällig und mühsam sind. Mit dem
Salesforce-Interface SandboxPostCopy schreiben Sie eine Apex-Klasse, die
beim Anlegen der Sandbox automatisch läuft, und die
Refresh-Best-Practices von Salto
nennen das Maskieren von E-Mail-Adressen und das Aktualisieren von Custom Settings und
Custom Metadata als typische Einsätze. Gute erste Kandidaten:
Machen Sie die Klasse idempotent und protokollieren Sie, was sie geändert hat, damit ein fehlgeschlagener Lauf sicher wiederholt werden kann.
Ein Refresh setzt eine Sandbox auf den Stand der Produktion zurück, also verschwindet alles zwischen dieser Sandbox und der Produktion, sofern Ihre Pipeline es nicht zurückbringt. Zwei Gewohnheiten verhindern diesen Verlust. Erstens: Machen Sie Git zur Quelle der Wahrheit, damit laufende Arbeit neu deployt und nicht neu gebaut wird. Zweitens: Richten Sie Back-Promotion in Ihrer Salesforce-DevOps-Pipeline ein, damit Hotfixes aus der Produktion zwischen den Refreshs in die unteren Umgebungen fließen. Führen Sie nach dem Refresh dieselben Prüfungen aus wie bei jedem Pull Request. Unser Leitfaden zur Salesforce-Testautomatisierung in CI trennt, was bei jedem Pull Request und was nachts laufen sollte.
Wenn das erneute Deployen nach jedem Refresh noch ein manueller Nachmittag ist, nimmt Ihnen eine DevOps-Plattform das meiste davon ab. Der kostenlose Essentials-Plan von Serpent enthält Delta-Deployments und Rollback mit einem Klick; vergleichen Sie die Pläne auf der Preisseite von Serpent.
Weitere praktische Leitfäden wie diesen finden Sie in der SF-Guides-Bibliothek.
Wie lang sollte ein Sandbox-Refresh-Runbook sein?
Kurz genug für einen Bildschirm pro Phase. Halten Sie das Runbook als Checkliste und lagern Sie Details in verlinkte Dokumente aus.
Wofür wird SandboxPostCopy verwendet?
Es ist ein Apex-Interface für eine Klasse, die beim Anlegen einer Sandbox automatisch läuft, meist um Daten zu maskieren und Einstellungen zurückzusetzen.
Warum enden Nutzer-E-Mails nach einem Refresh auf .invalid?
Salesforce hängt .invalid an, damit Produktionsnutzer keine E-Mails aus der Sandbox erhalten. Entfernen Sie es nur für Nutzer, die Sandbox-E-Mails brauchen.
Wie oft können Sie eine Full-Sandbox aktualisieren?
Einmal alle 29 Tage. Partial-Copy-Sandboxes lassen sich alle fünf Tage aktualisieren, Developer-Sandboxes täglich.
Unverbindlich.