Salesforce DevOps Woordenlijst

Ancestry

De gedeclareerde afstammingslijn tussen packageversies die Salesforce vertelt van welke eerdere versie een nieuwe versie moet upgraden.

Definitie

Ancestry is de verplichte afstammingslijn die een managed packageversie declareert naar de versie waarvan deze upgradet, ingesteld via ancestorId of ancestorVersion in sfdx-project.json. Salesforce gebruikt dit om te valideren dat een upgradepad veilig is: velden kunnen niet op incompatibele wijze worden verwijderd en opnieuw toegevoegd, verplichtheid kan niet onverwacht worden aangescherpt, en andere destructieve upgradepatronen worden opgevangen voordat een versie subscriberorgs bereikt. Unlocked packages vereisen ancestry niet op dezelfde manier, omdat Salesforce ervan uitgaat dat teams beide kanten van de upgrade beheersen; managed packages handhaven het omdat een subscriberorg die blind upgradet geen ander vangnet heeft. Het overslaan of verkeerd declareren van ancestry is een veelvoorkomende oorzaak van verwarrende validatiefouten bij het maken van een nieuwe managed packageversie. Onze gids met 2GP-valkuilen behandelt ancestry-fouten die ISV's echte releasetijd kosten.

In de praktijk

Hoe het werkt in Serpent

Serpent houdt de ancestry van packageversies automatisch bij als onderdeel van het promotieproces, zodat upgradepaden geldig blijven zonder dat een release engineer voor elke build handmatig ancestor-versies hoeft te declareren. Wanneer de gedeclareerde ancestor van een versie niet overeenkomt met de daadwerkelijke upgradeketen, signaleert Serpent dit vóór het aanmaken in plaats van na een mislukte Salesforce-validatie. Zie 2GP CI/CD in Serpent voor hoe version ancestry in de pipeline past.

Serpent traceert een package version-ancestrylijn die elke release koppelt aan de versie waaruit die is gebouwd
Veelgestelde vragen

Ancestry, beantwoord

Geldt ancestry ook voor unlocked packages?
Salesforce handhaaft dit niet op dezelfde manier voor unlocked packages, maar Serpent houdt version lineage nog steeds consistent bij voor beide typen.

Start gratis. Geen creditcard, geen installatie, geen verplichting.

Binnen 15 minuten ingericht. Geen DevOps-medewerker nodig.

Benieuwd naar sneller releasen voordat je instapt? Laten we praten

Vrijblijvend.