مسرد Salesforce DevOps

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 الإصدار مع خط الأنابيب.

Serpent يتتبع سلسلة نسب package version تربط كل إصدار بالنسخة التي بُني منها
أسئلة شائعة

Ancestry، تمت الإجابة

هل تنطبق ancestry أيضًا على الحزم غير المقفلة (unlocked packages)؟
لا تفرضها Salesforce بنفس الطريقة على الحزم غير المقفلة، لكن Serpent يواصل تتبع سلسلة نسب الإصدارات باتساق عبر النوعين.

ابدأ مجانًا. بلا بطاقة ائتمان، بلا تثبيت، بلا التزام.

الإعداد في أقل من 15 دقيقة. لا حاجة لتوظيف DevOps.

هل تريد معرفة كيف يمكنكم الشحن أسرع قبل البدء؟ لنتحدث

بدون التزام.