Ancestry
سلسلة النسب المُعلنة بين إصدارات الحزمة التي تُخبر Salesforce بالإصدار السابق الذي يُفترض أن يُرقّى منه الإصدار الجديد.
التعريف
Ancestry هي سلسلة النسب المطلوبة التي يُعلنها إصدار حزمة مُدارة (managed package) للإصدار الذي يُرقّى منه، وتُحدَّد عبر ancestorId أو ancestorVersion في sfdx-project.json. تستخدمها Salesforce للتحقق من أن مسار الترقية آمن: لا يمكن حذف الحقول وإعادة إضافتها بطريقة غير متوافقة، ولا يمكن تشديد الإلزامية بشكل غير متوقع، ويتم رصد أنماط الترقية المدمّرة الأخرى قبل وصول الإصدار إلى مؤسسات المشتركين. لا تتطلب الحزم غير المقفلة (unlocked packages) ancestry بنفس الطريقة، لأن Salesforce تفترض أن الفرق تتحكم في طرفَي الترقية؛ بينما تفرضها الحزم المُدارة لأن مؤسسة المشترك التي تُرقّي بشكل أعمى ليس لديها شبكة أمان أخرى. يُعد تخطي أو الإعلان الخاطئ عن ancestry سببًا شائعًا لفشل التحقق المُربك عند إنشاء إصدار حزمة مُدارة جديد. يغطي دليلنا لأخطاء 2GP الشائعة أخطاء ancestry التي تكلّف مزودي البرمجيات المستقلين (ISVs) وقت إصدار حقيقيًا.
إزاي بيشتغل في Serpent
يتتبع Serpent ancestry إصدارات الحزم تلقائيًا كجزء من سير عمل الترقية، بحيث تبقى مسارات الترقية صالحة دون الحاجة إلى أن يُعلن مهندس الإصدار يدويًا إصدارات ancestor لكل بناء. عندما لا يتطابق الـ ancestor المُعلن لإصدار ما مع سلسلة الترقية الفعلية، يُنبّه Serpent إلى ذلك قبل الإنشاء بدلاً من بعد فشل تحقق Salesforce. راجع 2GP CI/CD في Serpent لمعرفة كيف تتناسب ancestry الإصدار مع خط الأنابيب.

Ancestry، تمت الإجابة
ابدأ مجانًا. بلا بطاقة ائتمان، بلا تثبيت، بلا التزام.
الإعداد في أقل من 15 دقيقة. لا حاجة لتوظيف DevOps.
