
Serpent Team

Andrew Hanna

الـ runbook اللي فريقك هيمشي عليه فعلا لتحديث الـ sandbox بيكون قصير، ومحفوظ جنب الكود، وكل خطوة فيه ليها مسؤول ووقت متوقع وفحص بيثبت إنها خلصت. أغلب مستندات التحديث بتفشل لأنها صفحات wiki طويلة مالهاش صاحب. اكتب بتاعك كـ checklist من أربع مراحل، وخلّي الخطوات اللي الناس بتنساها أوتوماتيك، وجرّبه مرة قبل ما تعتمد عليه.
هو الإجراء خطوة بخطوة اللي فريقك بينفذه كل مرة sandbox في Salesforce بيتعمله refresh من الإنتاج: تحفظ إيه قبل، وترجّع إيه بعد، ومين بيعمل كل خطوة، وتعرف إزاي إنها نجحت. ده مش استراتيجية الـ sandbox، اللي بتحدد أنهي sandboxes موجودة وليه. الـ runbook هو الجزء اللي الناس بتنفذه صباح يوم التحديث.
Salesforce بتحدد الإيقاع بتاعك، فحط الحدود دي في أول الـ runbook. حسب دليل Salesforce Ben للـ sandbox:
تحديث Full بايظ ممكن يكلفك شهر، عشان كده الـ runbook بتاعه محتاج أكبر قدر من الدقة.
اكتب كل خطوة بنفس الشكل: step | owner | automated? | minutes | done when.
وبعدين قسّم الخطوات على أربع مراحل.
.invalid بس للمستخدمين اللي محتاجين إيميل في الـ sandbox.
Salesforce بتضيفها لإيميلات المستخدمين مع كل refresh أو clone، زي ما
مقالة المساعدة
بتشرح.
ابدأ بالخطوات المتكررة اللي فيها أخطاء كتير والمملة. واجهة
SandboxPostCopy في Salesforce بتخليك تكتب كلاس Apex بيشتغل لوحده لما الـ
sandbox يتعمل، وأفضل ممارسات Salto للتحديث
بتذكر إخفاء الإيميلات وتحديث الـ custom settings والـ custom metadata كاستخدامات
معتادة. مرشحين كويسين للبداية:
خلّي الكلاس idempotent وسجّل كل حاجة غيّرها، عشان لو تشغيلة فشلت تقدر تعيدها بأمان.
التحديث بيرجّع الـ sandbox لحالة الإنتاج، فأي حاجة بين الـ sandbox ده والإنتاج بتختفي إلا لو الـ pipeline رجّعها. فيه عادتين بيمنعوا الخسارة دي. الأولى: خلّي Git هو مصدر الحقيقة، عشان الشغل اللي لسه ماخلصش يتعمله deploy تاني مش يتبني من الأول. التانية: جهّز الـ back-promotion في Salesforce DevOps pipeline عشان الـ hotfixes اللي في الإنتاج تنزل للبيئات الأقل بين التحديثات. بعد التحديث شغّل نفس الفحوصات اللي بتشغلها مع كل pull request. دليلنا عن أتمتة اختبارات Salesforce في الـ CI بيفصل اللي يتشغل مع كل pull request عن اللي يتشغل بالليل.
لو الـ deploy بعد كل تحديث لسه بياخد بعد الضهر كله يدوي، منصة DevOps بتشيل عنك أغلبه. خطة Essentials المجانية من Serpent فيها delta deployments وrollback بضغطة واحدة؛ قارن الخطط على صفحة أسعار Serpent.
لأدلة عملية تانية زي ده، اتفرج على مكتبة SF Guides.
الـ runbook بتاع تحديث الـ sandbox المفروض يكون طوله قد إيه؟
قصير كفاية إن كل مرحلة تبقى في شاشة واحدة. خلّي الـ runbook هو الـ checklist وحط التفاصيل في مستندات مربوطة.
SandboxPostCopy بيُستخدم في إيه؟
هي واجهة Apex لكلاس بيشتغل لوحده لما الـ sandbox يتعمل، وغالبا بيُستخدم لإخفاء البيانات ورجوع الإعدادات.
ليه إيميلات المستخدمين بتنتهي بـ .invalid بعد التحديث؟
Salesforce بتضيف .invalid عشان مستخدمي الإنتاج ما يوصلهمش إيميلات من الـ sandbox. شيلها بس للمستخدمين اللي محتاجين إيميل في الـ sandbox.
تقدر تعمل refresh لـ Full sandbox كل قد إيه؟
مرة كل 29 يوم. الـ Partial Copy كل خمس أيام، والـ Developer كل يوم.
بدون التزام.