
Andrew Hanna

Andrew Hanna

En bref : un click deploy Salesforce n'a pas de bouton d'annulation natif. La Metadata API annule un déploiement qui échoue, mais une fois qu'il réussit, revenir en arrière signifie redéployer la version précédente, supprimer ce qui a été ajouté et restaurer les données à la main. Prenez un snapshot avant de cliquer, ou utilisez un outil qui le fait pour vous.
Un click deploy déplace des métadonnées entre orgs via une interface : vous comparez une source et une cible, cochez les composants modifiés, validez et déployez, sans change set ni ligne de commande. Le terme vient de ClickDeploy, que Copado vend aujourd'hui sous le nom de Copado Essentials ; nous détaillons l'outil et ses prix dans comment fonctionne ClickDeploy et combien il coûte. La plupart des guides s'arrêtent au déploiement. Celui-ci traite de ce qui se passe quand il faut revenir en arrière.
En production, rien ne change. Salesforce n'y accepte que des déploiements en
tout-ou-rien (l'option rollbackOnError doit valoir true), donc la
Metadata API annule toute la transaction en cas d'erreur et l'org reste intacte. La
Salesforce CLI annule par défaut et permet de contourner ce comportement avec
--ignore-errors, mais sa
propre référence
interdit de l'utiliser en production : les composants en erreur sont ignorés et l'org
peut devenir incohérente. Si un déploiement échoue, corrigez la cause et relancez-le ;
notre guide des
erreurs de click deploy
passe en revue les coupables habituels.
Pas nativement. Comme le rappelle Gearset, ni les change sets ni DevOps Center ne peuvent annuler un déploiement, et les change sets ne permettent pas non plus de changements destructifs. Un déploiement réussi est tout simplement le nouvel état de l'org. Pour revenir en arrière, vous lancez un second déploiement qui restaure l'ancien état, ce qui ne fonctionne que si vous en avez gardé une copie.
C'est donc la sauvegarde, et non le rollback, qui compte. Si personne n'a capturé les composants cibles avant le clic, vous les reconstruisez de mémoire.
destructiveChangesPost.xml pour
être supprimés une fois la restauration réussie.
--dry-run
dans la CLI) avec le même niveau de tests Apex que pour toute release de production.
Les étapes 2 et 3 sont celles où la plupart des rollbacks échouent, c'est pourquoi la checklist du click deploy intègre la sauvegarde à la préparation, et non après coup.
Posez les deux mêmes questions à Salto, Flosum, Blue Canvas et à tout autre outil de votre liste : la sauvegarde est-elle automatique ou à activer, et peut-on annuler un seul composant sans revenir sur toute la release ?
--purge-on-delete contourne
la corbeille : il n'y a plus rien à restaurer.
La solution la plus fiable est un historique que l'on peut rejouer. Déployer depuis une branche signifie que chaque release a été commitée avant sa mise en production, comme le montre click deploy depuis Git.
Tekunda est la société de conseil et de produits Salesforce qui édite Serpent, la plateforme DevOps qu'elle utilise aussi pour ses propres livraisons clients. Serpent conserve le flux de sélection par clic, tandis que Git et les pull requests tournent en arrière-plan : chaque release a donc une version vers laquelle revenir. Le rollback se fait en un clic, pour un composant ou une release complète. Les équipes sous Copado peuvent suivre notre parcours de migration, les offres sont sur la page tarifs et d'autres guides sont dans la bibliothèque SF Guides.
Salesforce a-t-il un bouton de rollback pour les déploiements ?
Non. Les change sets et DevOps Center ne peuvent pas annuler un déploiement. Vous redéployez la version précédente ou utilisez un outil qui sauvegarde l'org avant.
Un click deploy échoué modifie-t-il quelque chose ?
Pas en production, où Salesforce impose des déploiements en tout-ou-rien. La
Salesforce CLI annule aussi en cas d'erreur, sauf si vous passez
--ignore-errors.
Peut-on restaurer des données avec un rollback de déploiement ?
Non. Les rollbacks ne restaurent que les métadonnées ; les enregistrements exigent une sauvegarde et une restauration de données à part.
Combien de temps peut-on restaurer un champ personnalisé supprimé ?
Pendant 15 jours, sauf s'il a été effacé ou purgé. Certains attributs doivent ensuite être restaurés à la main.
Sans engagement.