package.xml
Die Manifestdatei, die der Metadata API genau mitteilt, welche Komponenten in einem Release abgerufen oder deployt werden sollen.
Definition
package.xml ist die Manifestdatei, die die Metadata API liest, um zu wissen, welche Komponenten nach Typ und Name in einen Retrieve- oder Deploy-Vorgang aufgenommen werden sollen. Alles, was nicht aufgeführt ist, wird schlicht nicht angefasst; deployte Metadaten, die außerhalb des Manifests liegen, werden unangetastet gelassen statt entfernt, da destruktive Änderungen ihr eigenes, separates Manifest benötigen.
Das manuelle Pflegen von package.xml für ein Release ist eine häufige Ursache für „Bei mir hat's funktioniert“-Bugs: Ein Entwickler fügt lokal ein neues benutzerdefiniertes Feld oder eine Apex-Klasse hinzu, vergisst, den entsprechenden Eintrag zum Manifest hinzuzufügen, und das Deployment gelingt ohne Fehler, während stillschweigend eine Komponente fehlt, von der das Release abhing.
Source-getrackte Orgs und CLI-Tooling können eine package.xml automatisch aus einem Diff generieren, weshalb sich die meisten Salesforce-DevOps-Pipelines von manuell bearbeiteten Manifesten hin zu Tooling bewegt haben, das die Liste aus dem tatsächlich Geänderten aufbaut. Unser Salesforce-DevOps-Guide behandelt die Manifestgenerierung als Teil eines Builds.
So funktioniert es in Serpent
Serpent baut sein Deployment-Manifest automatisch aus den Metadaten auf, die ein Work Item tatsächlich berührt hat, source-getrackt statt von Hand gepflegt, sodass eine Komponente nicht stillschweigend aus einem Release herausfallen kann, wie es bei einer manuell bearbeiteten package.xml passieren kann. Die Komponentenliste jedes Work Items bleibt vor dem Deployment sichtbar, sodass Reviewer genau bestätigen können, was enthalten ist, ohne ein Manifest von Hand gegenzuprüfen. Siehe Release-Management in Serpent dafür, wie Delta-Deployments abgegrenzt werden.

package.xml, beantwortet
Kostenlos starten. Keine Kreditkarte, keine Installation, keine Verpflichtung.
Einrichtung in unter 15 Minuten. Keine DevOps-Einstellung nötig.
