
Andrew Hanna

Andrew Hanna

Un runbook de refresh de sandbox que votre équipe suivra est court, vit à côté de votre code et attribue à chaque étape un responsable, une estimation de durée et un contrôle qui prouve qu'elle est terminée. La plupart des documents de refresh échouent parce que ce sont de longues pages wiki dont personne n'est responsable. Rédigez le vôtre comme une checklist en quatre phases, automatisez les étapes que l'on saute et répétez-le une fois avant de vous y fier.
Un runbook de refresh de sandbox est la procédure pas à pas que votre équipe exécute chaque fois qu'une sandbox Salesforce est rafraîchie depuis la production : ce qu'il faut sauvegarder avant, ce qu'il faut restaurer après, qui fait chaque étape et comment savoir que cela a fonctionné. Ce n'est pas votre stratégie de sandbox, qui décide quelles sandboxes existent et pourquoi. Le runbook est la partie que l'on exécute le matin du refresh.
Salesforce plafonne votre rythme, alors placez ces limites en tête du runbook. Selon le guide des sandboxes de Salesforce Ben :
Un refresh Full raté peut vous coûter un mois, c'est donc ce runbook qui mérite le plus de rigueur.
Rédigez chaque étape au même format :
étape | responsable | automatisée ? | minutes | terminée quand. Puis
regroupez les étapes en quatre phases.
.invalid uniquement pour les utilisateurs qui ont
besoin d'e-mails en sandbox. Salesforce l'ajoute aux adresses e-mail des
utilisateurs à chaque refresh ou clonage, comme l'explique son
article d'aide.
Automatisez les étapes fréquentes, sujettes aux erreurs et rébarbatives. L'interface
SandboxPostCopy de Salesforce permet d'écrire une classe Apex qui
s'exécute automatiquement à la création de la sandbox, et les
bonnes pratiques de refresh de Salto
citent le masquage des adresses e-mail et la mise à jour des custom settings et des
custom metadata comme usages typiques. De bons premiers candidats :
Rendez la classe idempotente et journalisez ce qu'elle modifie, pour qu'une exécution ratée puisse être relancée sans risque.
Un refresh remet une sandbox à l'état de la production, donc tout ce qui se trouve entre cette sandbox et la production disparaît si votre pipeline ne le remet pas en place. Deux habitudes évitent cette perte. D'abord, faites de Git la source de vérité, pour que le travail en cours soit redéployé et non reconstruit. Ensuite, mettez en place la back-promotion dans votre pipeline DevOps Salesforce, pour que les correctifs de production redescendent vers les environnements inférieurs entre deux refresh. Après le refresh, lancez les mêmes contrôles qu'à chaque pull request. Notre guide sur l'automatisation des tests Salesforce en CI distingue ce qu'il faut lancer à chaque pull request de ce qu'il faut lancer la nuit.
Si redéployer après chaque refresh vous prend encore un après-midi à la main, une plateforme DevOps s'en charge en grande partie. L'offre gratuite Essentials de Serpent inclut les déploiements delta et le rollback en un clic ; comparez les offres sur la page tarifs de Serpent.
Pour d'autres guides pratiques comme celui-ci, parcourez la bibliothèque SF Guides.
Quelle longueur pour un runbook de refresh de sandbox ?
Assez court pour tenir sur un écran par phase. Gardez le runbook comme checklist et placez le détail dans des documents liés.
À quoi sert SandboxPostCopy ?
C'est une interface Apex pour une classe qui s'exécute automatiquement à la création d'une sandbox, généralement pour masquer des données et réinitialiser des paramètres.
Pourquoi les e-mails des utilisateurs se terminent-ils par .invalid après un refresh ?
Salesforce ajoute .invalid pour que les utilisateurs de production ne reçoivent pas d'e-mails de la sandbox. Retirez-le seulement pour ceux qui en ont besoin.
À quelle fréquence peut-on rafraîchir une sandbox Full ?
Une fois tous les 29 jours. Les sandboxes Partial Copy se rafraîchissent tous les cinq jours et les sandboxes Developer chaque jour.
Sans engagement.