Start free
Andrew Hanna

Andrew Hanna

الانتقال من Gearset إلى Serpent من غير توقف

الانتقال من Gearset إلى Serpent من غير توقف

باختصار: مش محتاج تجميد إصدارات. مستودع Git بتاعك هو الأصل القابل للنقل، فتقدر تربط الأداتين عليه في نفس الوقت وتنقل خط تسليم ورا التاني، أقل بيئة الأول والإنتاج في الآخر. اللي بينتقل معك هو المستودع وفروعه وتاريخه. واللي بتعيد بناءه هو كل حاجة كانت عايشة جوه المزود: مهام CI والمراقبة، وربط المؤسسات، وبوابات الموافقة، وجداول النسخ الاحتياطي، وسجل عمليات النشر.

إيه اللي بينتقل فعلًا لما تبدّل الأداة؟

النموذج الذهني اللي بيسهّل الموضوع: البيانات الوصفية عايشة في Git، والتنسيق عايش عند المزود. توثيق Gearset نفسه بيوصف مستودعك بإنه المكان اللي البيانات الوصفية متخزنة فيه، والأداة بتنقلها بين المؤسسات وبين المستودع ده. يعني الأصل اللي بنيته على مدى سنين، تاريخ الـ commits ونموذج الفروع وهيكل الملفات، ملكك وبيفضل في مكانه بالظبط.

بينتقل من غير أي تغيير:

  • مستودع Git بكل فروعه ووسومه وكل commit فيه.
  • هيكل المجلدات وصيغة البيانات الوصفية، طالما الأداة الجديدة بتقراها.
  • قواعد حماية الفروع وقوائم المراجعين، لأنها عايشة في GitHub أو GitLab أو Bitbucket.
  • أي حاجة متحولة لكود بالفعل: السكربتات، واختبارات Apex، وإعدادات التحليل الساكن.

لازم يتبني من جديد:

  • تعريفات مهام CI/CD وجداولها الزمنية.
  • مهام مراقبة التغييرات وقواعد الإشعارات بتاعتها.
  • ربط المؤسسات والمستخدمين المصادق عليهم، لكل بيئة.
  • بوابات الموافقة وقواعد مين اللي يقدر يرقّي للإنتاج.
  • جداول النسخ الاحتياطي وأي بيانات نسخ محفوظة، وهي مش قابلة للنقل بين المزودين.
  • سجل عمليات النشر وسجلات التدقيق الموجودة جوه الأداة القديمة.

تتأكد من إيه قبل ما تربط أي حاجة؟

أول حاجة: اتأكد من صيغة البيانات الوصفية عندك. Gearset بتعمل commit بصيغة مصدر SFDX لما بتهيّئ مستودعًا فاضيًا، وبتدعم كمان صيغة Metadata API، فالمستودع اللي ورثته ممكن يكون بأي صيغة منهم بشكل شرعي. عدم توافق الصيغ هو بالظبط الحاجة اللي بتحوّل التشغيل المتوازي الهادي إلى حيطة من الفروق الوهمية.

لو المستودع بصيغة Metadata API وعايز تحوّله، اعمل التحويل كتغيير مستقل: حوّل، راجع، ادمج، وتأكد من نشر ناجح منه. ما تحوّلش الصيغة وتبدّل الأداة في نفس الأسبوع، لأنك ساعتها مش هتعرف أي تغيير سبب أي مفاجأة.

إزاي تفضل تطلق إصدارات والأداتين متوصلين؟

  1. اعمل جرد لكل حاجة الأداة القديمة بتعملها. عمليات النشر، ومهام CI، ومراقبة التغييرات، والنسخ الاحتياطي، ومراجعة الكود، وتجهيز بيئات الاختبار. القائمة دي هي خطة الترحيل عندك، وعادة أطول مما أي حد فاكر.
  2. اربط الأداة الجديدة للقراءة فقط. وجّهها لنفس المستودع ونفس المؤسسات وشغّل مقارنات من غير نشر. أول يوم مش هيتغير حاجة بالنسبة للفريق.
  3. ابني أقل بيئة الأول. بيئة التطوير أو التكامل. سيب فريق واحد يسلّم عبر الخط الجديد لمدة sprint والباقي يفضل على المسار القديم.
  4. شغّل الاتنين دورة إصدار كاملة. الخط الجديد بيتحقق من كل تغيير، والقديم لسه بينشر. أي اختلاف بين النتيجتين هو فجوة إعدادات لقيتها ببلاش.
  5. انقل UAT والبيئة التجريبية. عند النقطة دي شكل الخط بقى مثبتًا، ونموذج الموافقات متفق عليه، ومخرجات التدقيق شكلها زي ما المراجعين متوقعين.
  6. انقل الإنتاج في الآخر، وجوه نافذة تغيير عادية. مافيش لحظة تحويل كبيرة، فيه بس آخر بيئة بتتنقل.
  7. سحب الأداة القديمة يتأخر شوية. خلي الاشتراك القديم شغال على الأقل لمدة فترة الاحتفاظ بالنسخ الاحتياطية، وبعدين اسحب صلاحيات ربط المؤسسات واحذف مفاتيح النشر والـ webhooks.

إيه الفخاخ في التشغيل المتوازي؟

  • كاتبين على فرع واحد. اتفقوا إن أداة واحدة بس هي اللي تعمل commit على الفرع في أي وقت. الـ commits المتسابقة أشهر جرح ذاتي في أي ترحيل.
  • فحوصات حالة مكررة. الأداتين هيحبوا ينشروا نتائج على طلبات الدمج. خلي واحدة بس منهم إلزامية، وإلا الدمج هيفضل مستني خطًا أنت أصلًا بتقفله.
  • نشر مزدوج. لو الأداتين عندهم مهمة مجدولة على نفس المؤسسة المستهدفة، هتنشر مرتين. عطّل الجدول القديم في نفس اللحظة اللي الجديد بيشتغل فيها، مش الأسبوع اللي بعده.
  • النسخ الاحتياطية. بيانات النسخ عادة ما بتتصدّرش لمزود تاني بشكل قابل للاستعادة. حدد موقفك من مدة الاحتفاظ قبل ما تلغي أي اشتراك.
  • ثغرات التدقيق. في بيئة خاضعة للتنظيم، صدّر سجل النشر المطلوب الاحتفاظ بيه وأنت لسه في مدة العقد القديم.

الموضوع بياخد قد إيه؟

القيد هو إيقاع الإصدارات عندك، مش الأداة. فريق بيشتغل بدورة أسبوعين بيخلص عادة في دورتين: دورة متوازية ودورة إنتاج. إعداد Serpent بياخد أقل من 15 دقيقة لكل مساحة عمل وجلسات التهيئة مع فريقنا مجانية، فمعظم الوقت بيروح في انتظار نوافذ التغيير عندك مش في الضبط.

ليه الفرق بتبدّل من الأساس؟

ثلاث أسباب بتتكرر. تسعير بيتحرك مع عدد المستخدمين ومع عدد مؤسسات CI/CD. وسير عمل بيفترض إتقان Git مش موجود عند نص الفريق من الإداريين. وتسليم الحزم كشراء منفصل. Serpent بتسعّر بشكل ثابت لكل شركة، وبتشتغل بنظام تذاكر وGit في الخلفية، وما بتثبّتش حاجة في مؤسستك، وبتشمل تدفقات 1GP و2GP وإصدارات AppExchange في كل الخطط بما فيها Essentials المجانية. فيه أدلة تبديل تانية في مكتبة SF Guides بتاعتنا.

FAQ

هل محتاجين تجميد إصدارات علشان نبدّل؟

لأ. ابني البيئات واحدة ورا التانية وسيب الخط القديم بينشر لحد ما الجديد يتحقق من دورة إصدار كاملة.

ينفع أداتين DevOps يتوصلوا بنفس المستودع في نفس الوقت؟

أيوه، وده اللي بيخلي التبديل من غير توقف ممكن. القاعدة اللي بتأمّنه إن كاتب واحد بس يشتغل على الفرع في اللحظة الواحدة.

هل النسخ الاحتياطية الحالية بتنتقل معانا؟

لأ. بيانات النسخ مش قابلة للنقل بين المزودين بشكل قابل للاستعادة، فخطط لفترة تداخل تغطي متطلب الاحتفاظ عندك.

وسجل عمليات النشر بتاعنا؟

بيفضل عند الأداة القديمة. صدّر اللي المدققين محتاجينه وأنت لسه في مدة العقد.

هل Serpent بتثبّت أي حاجة في مؤسسات Salesforce عندنا؟

لأ. بتتصل عبر واجهات برمجية قياسية بس، فمافيش حزمة تحتاج موافقة عند الدخول ولا حاجة تتشال بعدين.

مقالات ذات صلة

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

بدون التزام.