
Andrew Hanna

Andrew Hanna

الخلاصة: الـ click deploy في Salesforce مفيهوش زرار تراجع أصلي. الـ Metadata API بيرجع أي نشر بيفشل، لكن لما النشر ينجح، الرجوع معناه إنك تنشر النسخة القديمة تاني، وتمسح اللي اتضاف، وترجع أي بيانات بإيدك. خد snapshot قبل ما تدوس، أو استخدم أداة بتاخدها بدالك.
الـ click deploy بينقل الميتاداتا بين الـ orgs من خلال واجهة: بتقارن مصدر وهدف، وتعلّم على المكونات اللي اتغيرت، وتعمل validate وتنشر، من غير change set ومن غير سطر أوامر. المصطلح جاي من ClickDeploy، اللي Copado بتبيعها دلوقتي باسم Copado Essentials؛ شرحنا الأداة وأسعارها في إزاي ClickDeploy بتشتغل وبكام. أغلب الأدلة بتقف عند النشر. الدليل ده عن اللي بيحصل لما تحتاج ترجع فيه.
في الإنتاج مفيش حاجة بتتغير. Salesforce مبتقبلش هناك غير نشر all-or-none (خيار
rollbackOnError لازم يكون true)، فالـ Metadata API بيرجع العملية كلها لو
حصل خطأ والـ org بتفضل زي ما هي. الـ Salesforce CLI بيرجع تلقائيًا وبيسمحلك تتخطى ده
بـ --ignore-errors، لكن
المرجع بتاعه
بيقول متستخدمهوش أبدًا مع الإنتاج، لأن المكونات اللي فيها أخطاء بتتساب والـ org ممكن
تبقى في حالة مش متسقة. لو النشر فشل، صلّح السبب وشغله تاني؛ دليلنا عن
أخطاء click deploy
بيعدي على الأسباب المعتادة.
مش بشكل أصلي. زي ما Gearset بتقول، الـ change sets متقدرش ترجع نشر، ولا DevOps Center كمان، والـ change sets كمان متقدرش تعمل تغييرات حذف. النشر الناجح ببساطة هو الحالة الجديدة للـ org. علشان ترجع، بتشغل نشر تاني بيرجع الحالة القديمة، وده بيشتغل بس لو كنت محتفظ بنسخة منها.
علشان كده الـ backup، مش التراجع، هو الخطوة المهمة. لو محدش سجل مكونات الهدف قبل الضغطة، هتبنيها من الذاكرة.
destructiveChangesPost.xml علشان تتمسح بعد ما الاسترجاع ينجح.
--dry-run
في الـ CLI) بنفس مستوى اختبارات Apex اللي بتستخدمه لأي إصدار إنتاج.
الخطوتين 2 و3 هما اللي أغلب عمليات التراجع بتقع فيهم، علشان كده قائمة مراجعة click deploy بتخلي الـ backup جزء من التحضير، مش حاجة بعدين.
اسأل Salto وFlosum وBlue Canvas وأي أداة تانية في قائمتك نفس السؤالين: هل الـ backup تلقائي ولا لازم تفعله، وتقدر ترجع مكون واحد من غير ما ترجع الإصدار كله؟
--purge-on-delete بيتخطى سلة
المحذوفات، فمفيش حاجة ترجعها.
الحل الأضمن هو تاريخ تقدر تعيد تشغيله. النشر من branch معناه إن كل إصدار اتعمله commit قبل ما يطلع، زي ما هو موضح في click deploy من Git.
Tekunda هي شركة الاستشارات والمنتجات في Salesforce اللي ورا Serpent، منصة DevOps اللي بتستخدمها كمان في تسليم مشاريع عملائها. Serpent بتحافظ على طريقة الاختيار بالضغط، وتحتها Git والـ pull requests شغالين، فكل إصدار ليه نسخة ترجعلها. التراجع بضغطة واحدة، لمكون واحد أو لإصدار كامل. الفرق اللي على Copado تقدر تتبع مسار الانتقال بتاعنا، والخطط موجودة في صفحة الأسعار، وأدلة أكتر في مكتبة SF Guides.
هل Salesforce فيها زرار تراجع للنشر؟
لأ. الـ change sets وDevOps Center ميقدروش يرجعوا نشر. بتنشر النسخة القديمة تاني أو بتستخدم أداة بتاخد snapshot للـ org الأول.
هل click deploy الفاشل بيغير حاجة؟
مش في الإنتاج، لأن Salesforce بتفرض هناك نشر all-or-none. والـ Salesforce CLI كمان
بيرجع لو حصل خطأ، إلا لو استخدمت --ignore-errors.
أقدر أرجع البيانات بالتراجع عن النشر؟
لأ. التراجع بيرجع الميتاداتا بس، والسجلات محتاجة backup واسترجاع بيانات لوحدهم.
لحد إمتى أقدر أرجع custom field ممسوح؟
لمدة 15 يوم، إلا لو اتمسح نهائيًا أو اتعمله purge. وبعدها في خصائص لازم ترجعها بإيدك.
بدون التزام.