
Andrew Hanna

Andrew Hanna

En bref : un click deploy échoue rarement à cause du bouton. Il échoue parce que la Metadata API de Salesforce rejette le paquet, et presque chaque rejet entre dans cinq catégories : une dépendance manquante, une couverture de tests insuffisante, une version d'API inconnue de la cible, une limite de taille de la plateforme, ou une modification que l'API ne sait pas faire. Lisez la première erreur, corrigez la cause dans la source et relancez une validation avant de déployer.
Quel que soit l'outil, le mécanisme sous-jacent est le même. L'outil construit un
manifeste package.xml et un .zip des métadonnées sélectionnées, les
envoie à la Metadata API, puis Salesforce compile, exécute les tests Apex au niveau
choisi et enregistre le résultat. Si les outils point-and-click sont nouveaux pour
vous, commencez par
le fonctionnement et le coût de ClickDeploy.
Deux règles de la plateforme expliquent la plupart des surprises :
Le paquet fait référence à un élément absent de l'org cible : un champ sans son objet, un Flow sans les champs qu'il lit, un objet enfant sans son parent. Copado Essentials, l'outil anciennement appelé ClickDeploy, documente un cas classique : déployer seul un objet de détail renvoie Cannot set sharingModel to ControlledByParent on a CustomObject without a MasterDetail relationship field. Le correctif consiste à ajouter l'objet parent au déploiement, même s'il n'a pas changé.
Salesforce exige qu'au moins 75 % de votre code Apex soit couvert par des tests unitaires pour déployer en production, et chaque trigger doit avoir au moins une ligne couverte. Avec RunSpecifiedTests, la règle change : les tests indiqués doivent couvrir à 75 % chaque classe et chaque trigger du paquet, pris individuellement. La solution, ce sont de meilleurs tests, pas un autre niveau de test.
Une erreur comme Invalid api version apparaît généralement autour d'une fenêtre de release, quand votre sandbox tourne déjà sur la prochaine version de Salesforce et pas encore la production. Winter '27 en est un exemple actuel : les sandboxes sont passées en preview fin août 2026, tandis que les instances de production sont mises à niveau sur plusieurs week-ends jusqu'en octobre ; vérifiez donc votre instance sur Salesforce Trust. La recommandation de Copado est de ramener la version d'API du composant à une version prise en charge par la production, puis de redéployer.
La propre bibliothèque de déploiement de Salesforce, source-deploy-retrieve, avertit lorsqu'un déploiement approche des limites de la Metadata API : 10 000 fichiers et environ 39 Mo compressés. Les sélections par wildcard et les déploiements d'objets complets les atteignent en premier. Découpez la release, ou ne livrez que ce qui a changé grâce aux déploiements delta.
Un déploiement au vert signifie seulement que Salesforce a accepté le paquet. Il ne garantit pas que la cible correspond à la source :
Tekunda est la société de conseil et de produits Salesforce derrière Serpent, la plateforme DevOps qu'elle utilise pour ses propres livraisons clients. Serpent conserve l'expérience de sélection au clic, mais chaque changement passe par Git, une pull request et une validation avec tests Apex avant d'atteindre l'org suivante, avec une revue de code IA sur tous les forfaits, y compris le gratuit. Rien n'est installé dans votre org. Les équipes sur Copado Essentials, Gearset, Salto, AutoRABIT, Flosum ou Blue Canvas peuvent suivre notre parcours de migration, et d'autres guides pratiques se trouvent dans la bibliothèque SF Guides.
Pourquoi mon déploiement réussit-il en sandbox mais échoue-t-il en production ?
Les sandboxes n'exécutent aucun test Apex par défaut, alors que la production exécute les tests locaux et impose 75 % de couverture. Validez d'abord contre la production avec le même niveau de test.
Que signifie « invalid api version » ?
Votre composant utilise une version d'API que l'org cible ne prend pas encore en charge, souvent pendant une fenêtre de release. Abaissez la version du composant et redéployez.
Puis-je ignorer les erreurs et déployer quand même ?
La Salesforce CLI dispose d'une option qui ignore les erreurs et saute le rollback, mais sa propre référence déconseille formellement de l'utiliser en production.
Combien de composants un déploiement peut-il contenir ?
La Metadata API limite un déploiement à 10 000 fichiers et environ 39 Mo compressés. Découpez les releases plus importantes.
Sans engagement.