
Andrew Hanna

Andrew Hanna

Associer les branches Git aux sandboxes Salesforce, c'est décider quelle branche est la source de vérité pour chaque environnement, pour qu'un changement passe du dev à la production via des merges révisés plutôt que des déploiements d'org à org. Les branches durables sont associées aux sandboxes persistantes ; les branches de fonctionnalité de courte durée aux scratch orgs et sandboxes développeur. Si l'association est bonne, la promotion n'est qu'un merge. Si elle est mauvaise, vous héritez des fusions de fusions et d'une dérive silencieuse.
Ce guide porte sur la mécanique d'association, pas sur le choix du modèle. Si vous hésitez encore entre trunk-based, GitFlow et branche par environnement, commencez par Stratégies de branches Git pour équipes Salesforce : une règle, puis revenez ici pour le câbler à vos orgs.
Une branche n'est réelle que s'il existe une org où la déployer et la tester. Associez chaque branche au type de sandbox adapté à son rôle et à sa cadence de rafraîchissement :
La cadence de rafraîchissement plafonne le nombre de branches durables que vous pouvez réellement soutenir. Salesforce impose des intervalles minimaux de un jour pour Developer et Developer Pro, cinq jours pour Partial Copy et 29 jours pour Full, donc une branche que vous ne pouvez pas rafraîchir est une branche à laquelle vous ne pouvez pas vous fier.
La promotion est un merge, pas un redéploiement. Un changement démarre sur une branche de fonctionnalité, puis remonte la chaîne à mesure qu'il franchit chaque porte :
La règle qui épargne le plus de douleur : ne laissez jamais une branche associée à la production accepter un commit direct. Tout y arrive via un merge révisé, si bien que l'historique de la branche est aussi votre historique de déploiement.
Le source tracking enregistre quelle metadata a changé dans une sandbox, ce qui vous permet de tirer ces changements dans la branche au lieu de deviner un retrieve complet. Déployez depuis git vers l'org associée, et laissez le source tracking signaler tout ce qu'un administrateur a changé directement dans cette org. Cette boucle garde la branche comme source de vérité et empêche l'org et la branche de diverger en silence.
Les données, les paramètres à l'échelle de l'org et les licences vivent hors du dépôt : l'association ne couvre que la metadata. Traitez-les comme une configuration d'environnement que vous initialisez séparément, pas comme quelque chose qu'une branche peut promouvoir.
Une association qui vit dans un document d'accueil saute dès la première semaine de livraison chargée. Serpent fonctionne par tickets avec Git en arrière-plan : la branche, sa sandbox et le chemin de promotion viennent du ticket, pas de la mémoire. D'autres guides de pipeline vivent dans notre bibliothèque SF Guides.
Faut-il une branche par sandbox ?
Non. Associez les branches durables uniquement aux environnements persistants comme intégration, UAT et production. Utilisez des branches de fonctionnalité de courte durée pour les scratch orgs et orgs développeur.
Quelle sandbox doit soutenir ma branche UAT ?
Une sandbox Partial Copy ou Full, pour que les utilisateurs métier testent contre des données représentatives plutôt qu'une org développeur vide.
Comment un changement est-il promu entre environnements ?
Via un merge révisé d'une branche à la suivante, suivi d'un déploiement depuis git vers l'org associée. La promotion est un merge, pas un redéploiement depuis une org.
Qu'est-ce qui empêche une branche et son org de diverger ?
Le source tracking plus le déploiement depuis git. La branche reste la source de vérité, et tout changement direct dans l'org apparaît comme un diff suivi à réconcilier.
Quel modèle de branches associer en premier ?
Choisissez le modèle avant l'association. Voir notre règle de décision pour choisir selon la taille d'équipe et la topologie de sandbox.
Sans engagement.