
Andrew Hanna

Andrew Hanna

Een sandbox-refreshrunbook dat je team volgt, is kort, staat naast je code en geeft elke stap een eigenaar, een tijdsinschatting en een check die bewijst dat hij klaar is. De meeste refreshdocumenten mislukken omdat het lange wikipagina's zijn waar niemand eigenaar van is. Schrijf het jouwe als checklist in vier fases, automatiseer de stappen die mensen overslaan en oefen het één keer voordat je erop vertrouwt.
Een sandbox-refreshrunbook is de stapsgewijze procedure die je team uitvoert telkens als een Salesforce-sandbox vanuit productie wordt ververst: wat je vooraf veiligstelt, wat je achteraf herstelt, wie elke stap doet en hoe je weet dat het werkte. Het is niet je sandboxstrategie, die bepaalt welke sandboxes er zijn en waarom. Het runbook is het deel dat mensen uitvoeren op de ochtend van de refresh.
Salesforce begrenst je ritme, dus zet de limieten bovenaan je runbook. Volgens de sandboxgids van Salesforce Ben:
Een mislukte Full-refresh kan je een maand kosten, dus dat runbook verdient de meeste zorg.
Schrijf elke stap in hetzelfde format:
stap | eigenaar | geautomatiseerd? | minuten | klaar als. Groepeer de
stappen daarna in vier fases.
.invalid alleen weg bij gebruikers die
sandboxmail nodig hebben. Salesforce voegt het bij elke refresh of clone toe aan
e-mailadressen van gebruikers, zoals het
helpartikel
uitlegt.
Automatiseer de stappen die vaak voorkomen, foutgevoelig zijn en saai. Met de
SandboxPostCopy-interface van Salesforce schrijf je een Apex-klasse die
automatisch draait wanneer de sandbox wordt aangemaakt, en de
best practices van Salto
noemen e-mailadressen maskeren en custom settings en custom metadata bijwerken als
typische toepassingen. Goede eerste kandidaten:
Maak de klasse idempotent en log wat ze veranderde, zodat een mislukte run veilig herhaald kan worden.
Een refresh zet een sandbox terug naar productie, dus alles tussen die sandbox en productie verdwijnt tenzij je pipeline het terugzet. Twee gewoontes voorkomen dat verlies. Ten eerste: maak Git de bron van waarheid, zodat lopend werk opnieuw wordt gedeployed in plaats van opnieuw gebouwd. Ten tweede: richt back-promotion in je Salesforce DevOps-pipeline in, zodat hotfixes uit productie tussen refreshes door naar lagere omgevingen stromen. Draai na de refresh dezelfde checks als bij elke pull request. Onze gids over Salesforce-testautomatisering in CI scheidt wat je per pull request draait van wat je 's nachts draait.
Is opnieuw deployen na elke refresh nog steeds een handmatige middag, dan neemt een DevOps-platform het meeste daarvan over. Het gratis Essentials-plan van Serpent bevat delta-deployments en rollback met één klik; vergelijk de plannen op de prijspagina van Serpent.
Meer praktische gidsen zoals deze vind je in de SF Guides-bibliotheek.
Hoe lang moet een sandbox-refreshrunbook zijn?
Kort genoeg voor één scherm per fase. Houd het runbook als checklist en zet details in gelinkte documenten.
Waarvoor gebruik je SandboxPostCopy?
Het is een Apex-interface voor een klasse die automatisch draait wanneer een sandbox wordt aangemaakt, meestal om data te maskeren en instellingen terug te zetten.
Waarom eindigen e-mailadressen op .invalid na een refresh?
Salesforce voegt .invalid toe zodat productiegebruikers geen mail uit de sandbox krijgen. Haal het alleen weg bij gebruikers die sandboxmail nodig hebben.
Hoe vaak kun je een Full-sandbox verversen?
Eens per 29 dagen. Partial Copy-sandboxes kun je elke vijf dagen verversen en Developer-sandboxes dagelijks.
Vrijblijvend.