Andrew Hanna

Andrew Hanna

Annuler un click deploy : comment revenir sur un déploiement Salesforce

Annuler un click deploy : comment revenir sur un déploiement Salesforce

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.

Qu'est-ce qu'un click deploy dans Salesforce ?

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.

Que se passe-t-il quand un click deploy échoue ?

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.

Peut-on annuler un click deploy réussi ?

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.

Comment annuler un click deploy, étape par étape ?

  1. Choisissez : rollback ou correctif. Si la cause est évidente et le correctif léger, livrer le correctif préserve le reste de la release. Revenez en arrière si le diagnostic prend trop de temps ou si le changement cause des dégâts.
  2. Retrouvez la version d'avant. Utilisez le snapshot pris par votre outil, ou le dernier commit Git qui correspond à la production. À défaut, récupérez ce que vous pouvez d'une sandbox non rafraîchie depuis.
  3. Construisez le package de rollback. Les composants que le déploiement a modifiés reviennent à leur version précédente. Ceux qu'il a ajoutés vont dans un manifeste destructiveChangesPost.xml pour être supprimés une fois la restauration réussie.
  4. Validez d'abord. Lancez-le en déploiement de vérification (--dry-run dans la CLI) avec le même niveau de tests Apex que pour toute release de production.
  5. Déployez et vérifiez. Déployez, puis testez les pages, flows et intégrations concernés. Notez ce qui a été annulé et pourquoi.
  6. Vérifiez les données. Un rollback de métadonnées ne restaure pas les enregistrements. Traitez les données à part, comme expliqué plus bas.

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.

Quels outils de click deploy proposent le rollback ?

  • Copado Essentials : choisissez Deploy with backup et un bouton Rollback apparaît sur l'enregistrement du déploiement, selon son centre d'aide. Le rollback des jobs CI exige un dépôt Git comme source.
  • Gearset : enregistre un snapshot des métadonnées de l'org cible avant chaque déploiement et permet un rollback complet ou partiel, d'après sa documentation.
  • AutoRABIT : le rollback ne fonctionne que si Take Backup était activé lors du déploiement initial, précise sa base de connaissances, et il permet d'exclure des composants.

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 ?

Que ne peut pas annuler un rollback ?

  • Les données. Les rollbacks de déploiement ne concernent que les métadonnées. Les enregistrements modifiés par un nouveau flow ou trigger restent modifiés.
  • Les champs supprimés, proprement. Salesforce conserve un champ personnalisé supprimé pendant 15 jours, mais Salesforce Ben liste ce qu'il reste à refaire après la restauration, comme les paramètres obligatoire et unique ou le suivi de l'historique du champ.
  • Une purge. Supprimer avec --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.

Comment Tekunda gère-t-il le rollback ?

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.

FAQ

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.

Articles similaires

Curieux de livrer plus vite avant de vous lancer ? Parlons-en

Sans engagement.