
Serpent Team

Andrew Hanna

الإجابة باختصار: بوابة الاعتماد هي قاعدة تمنع الترقية حتى يوقّع شخص محدد بالاسم وليس هو كاتب التغيير. وتتحول إلى سجل تدقيق حين يُسجَّل الاعتماد على الـ commit المحدد والـ org الهدف بالضبط، ولا يمكن تعديله بعد ذلك. اضبط هذا مرة واحدة لكل بيئة وتتوقف عن تجميع لقطات الشاشة إلى الأبد.
البوابة الموجودة في عادات الأشخاص فقط ليست ضابطاً. أربع خصائص تحولها إلى دليل:
لو نقصت واحدة، سيعتبر المدقق الضابط كله غير موثوق، مهما بدت العملية جيدة على شريحة عرض.
معظم الفرق إما لا تضع بوابات إطلاقاً أو تضعها في كل مكان، وكلا الطريقين يفشل. اضبط البوابات حسب المخاطر، ووثّقها:
اعتمادان في الإنتاج ليسا بيروقراطية، بل أصغر إعداد يصمد أمام اختبار فصل المهام على طريقة SOX، وتكلفته خمس دقائق تقريباً.
كل منصات Salesforce DevOps المعروفة تدعم هذا النمط، ومنها Copado و Gearset و AutoRABIT و Flosum و Blue Canvas و Serpent، وكذلك GitHub أو GitLab أمام الـ CLI. الإعداد هو المهم، لا الشعار.
حين يختار المدقق عشرة إصدارات، يجب أن ينتهي كل واحد إلى سجل يحمل:
احتفظ بذلك خارج الـ org. السجلات التي تعيش داخل Salesforce وحدها تنتهي صلاحيتها، ودورات التدقيق سنوية.
تستحق التفعيل، لكن اعرف حدودها:
SetupAuditTrail.
هذا السطر الأخير هو سبب اعتبار سجل الـ pipeline الدليل الأساسي وسجلات الـ org دليلاً مساعداً.
أكثر ملاحظة شيوعاً ليست اعتماداً سيئاً، بل تغييراً لم يمر بالـ pipeline أصلاً: مسؤول يعدّل قاعدة تحقق في الإنتاج ظهر يوم الثلاثاء. أغلق هذا بثلاث عادات.
بتشغيل هذه الثلاث يتوقف التدقيق السنوي عن كونه مشروعاً. تجد أدلة إعداد أخرى مثل هذا الدليل في مكتبة SF Guides عندنا.
كم معتمداً يحتاج النشر إلى الإنتاج؟
اثنان هو المعيار العملي: مراجع تقني غير الكاتب، ومالك العملية من جانب الأعمال. ويكفي واحد في الإصلاح العاجل الموثق.
هل يمكن لكاتب التغيير أن يعتمده؟
لا. هذا يكسر فصل المهام وهو أول ما يختبره المدقق. عطّل الاعتماد الذاتي في حماية الفروع حتى تُفرض القاعدة لا أن تُتذكّر.
هل تبطئ بوابات الاعتماد الإصدارات؟
نادراً، إذا وزّعت البوابات حسب البيئة. البيئات الأدنى تبقى بلا بوابة وبفحوصات آلية فقط، فتحدث الخطوة البشرية مرة واحدة حيث يكون الخطأ مكلفاً فعلاً.
هل Setup Audit Trail دليل كافٍ وحده؟
لا. يحتفظ بـ 180 يوماً، ويغفل القيم قبل وبعد، ويبيّن أن تغييراً حدث لا أنه اعتُمد. استخدمه لتأكيد سجلات الـ pipeline لديك.
بدون التزام.