Glossaire Salesforce DevOps

package.xml

Le fichier manifeste qui indique précisément à la Metadata API quels composants récupérer ou déployer dans une release.

Définition

package.xml est le fichier manifeste que la Metadata API lit pour savoir quels composants, par type et par nom, inclure dans une opération de retrieve ou de déploiement. Tout ce qui n'y figure pas n'est simplement pas touché ; les métadonnées déployées qui tombent hors du manifeste sont laissées telles quelles plutôt que supprimées, car les changements destructeurs nécessitent leur propre manifeste séparé.

Maintenir package.xml à la main pour une release est une cause fréquente de bugs du type « ça marchait sur ma machine » : un développeur ajoute localement un nouveau champ personnalisé ou une classe Apex, oublie d'ajouter l'entrée correspondante au manifeste, et le déploiement réussit sans erreur tout en faisant discrètement l'impasse sur un composant dont la release dépendait.

Les orgs en source tracking et l'outillage CLI peuvent générer un package.xml automatiquement à partir d'un diff, ce qui explique pourquoi la plupart des pipelines DevOps Salesforce se sont éloignés des manifestes édités à la main au profit d'un outillage qui construit la liste à partir de ce qui a réellement changé. Notre guide du DevOps Salesforce couvre la génération de manifeste dans le cadre d'un build.

En pratique

Comment cela fonctionne dans Serpent

Serpent construit son manifeste de déploiement automatiquement à partir des métadonnées réellement touchées par un Work Item, en source tracking plutôt que maintenu à la main, de sorte qu'un composant ne peut pas être silencieusement omis d'une release comme cela peut arriver avec un package.xml édité à la main. La liste des composants de chaque Work Item reste visible avant le déploiement, afin que les relecteurs puissent confirmer exactement ce qui est inclus sans vérifier un manifeste à la main. Voir la gestion des releases dans Serpent pour la façon dont les déploiements delta sont scopés.

Serpent génère un manifeste package.xml des composants à récupérer ou à déployer
Questions fréquentes

package.xml, expliqué

Pourquoi mon déploiement a-t-il réussi alors qu'un composant manque dans l'org cible ?
Le composant n'était presque certainement pas listé dans package.xml. La Metadata API ne touche que ce qui figure dans le manifeste, donc une entrée omise ne déclenche pas d'erreur, elle est simplement ignorée silencieusement.
Puis-je utiliser un seul package.xml pour déployer et supprimer des métadonnées ?
Non. Les déploiements et les suppressions utilisent des manifestes séparés : package.xml pour ce qui doit être déployé et destructiveChanges.xml pour ce qui doit être supprimé. Les combiner dans un seul fichier n'est pas pris en charge.
Comment générer package.xml automatiquement plutôt que de l'écrire à la main ?
Les orgs en source tracking et Salesforce CLI peuvent générer un manifeste à partir d'un diff par rapport à ce qui a changé. Les outils construits sur le source tracking, y compris Serpent, construisent le manifeste automatiquement à partir des composants réellement touchés par un changement.

Démarrez gratuitement. Pas de carte bancaire, pas d'installation, aucun engagement.

Configuration en moins de 15 minutes. Aucun recrutement DevOps nécessaire.

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

Sans engagement.