Salesforce-DevOps-Glossar

Ancestry

Die deklarierte Abstammung zwischen Paketversionen, die Salesforce mitteilt, von welcher vorherigen Version eine neue Version upgraden soll.

Definition

Ancestry ist die erforderliche Abstammung, die eine verwaltete (managed) Paketversion zu der Version deklariert, von der sie upgradet, festgelegt über ancestorId oder ancestorVersion in sfdx-project.json. Salesforce nutzt dies, um zu validieren, dass ein Upgrade-Pfad sicher ist: Felder können nicht inkompatibel gelöscht und neu hinzugefügt werden, die Pflichtfeld-Eigenschaft kann nicht unerwartet verschärft werden, und andere destruktive Upgrade-Muster werden erkannt, bevor eine Version Subscriber-Orgs erreicht. Unlocked Packages benötigen Ancestry nicht auf dieselbe Weise, da Salesforce davon ausgeht, dass Teams beide Seiten des Upgrades kontrollieren; verwaltete Pakete erzwingen es, weil eine Subscriber-Org, die blind upgradet, kein anderes Sicherheitsnetz hat. Das Auslassen oder falsche Deklarieren von Ancestry ist eine häufige Ursache verwirrender Validierungsfehler beim Erstellen einer neuen verwalteten Paketversion. Unser 2GP-Fallstricke-Guide behandelt Ancestry-Fehler, die ISVs echte Release-Zeit kosten.

In der Praxis

So funktioniert es in Serpent

Serpent verfolgt die Ancestry von Paketversionen automatisch als Teil seines Promotion-Workflows, sodass Upgrade-Pfade gültig bleiben, ohne dass ein Release Engineer für jeden Build manuell Ancestor-Versionen deklarieren muss. Wenn der deklarierte Ancestor einer Version nicht mit der tatsächlichen Upgrade-Kette übereinstimmt, markiert Serpent dies vor der Erstellung statt nach einer fehlgeschlagenen Salesforce-Validierung. Siehe 2GP CI/CD in Serpent dafür, wie Versions-Ancestry in die Pipeline passt.

Serpent verfolgt eine Package-Version-Ancestry-Linie, die jede Release mit der Version verknüpft, aus der sie gebaut wurde
Häufige Fragen

Ancestry, beantwortet

Gilt Ancestry auch für Unlocked Packages?
Salesforce erzwingt dies bei Unlocked Packages nicht auf dieselbe Weise, aber Serpent verfolgt die Versionsabstammung dennoch konsistent für beide Typen.

Kostenlos starten. Keine Kreditkarte, keine Installation, keine Verpflichtung.

Einrichtung in unter 15 Minuten. Keine DevOps-Einstellung nötig.

Neugierig auf schnelleres Shipping, bevor Sie einsteigen? Sprechen wir

Unverbindlich.