Serpent هي منصة DevOps لفرق Salesforce. بتدّي كل تغيير مكان متتبّع وقابل للمراجعة، عشان تقدر تبني وتراجع وتنشر من غير ما تدي بإيدك في Git branches والـ orgs والـ deployments. الصفحة دي بتشرح العناصر الأساسية، وبتوضح إيه اللي مصطلح Salesforce قياسي وإيه اللي خاص بـ Serpent، وبتقولك تتوقع إيه في كل خطوة.
العناصر الأساسية
Workspace
ده مصطلح خاص بـ Serpent. هو الحاوية الأساسية بتاعة فريقك: فيها مشاريعك وأعضاؤك والـ orgs والفوترة. أغلب الفرق بيكون عندها workspace واحد بس.
Project
ده مصطلح خاص بـ Serpent. عبارة عن pipeline توصيل واحد: ليه الـ repository بتاعه والـ orgs المتصلة وسياسة المراجعة والفريق بتاعه. بتعمل الـ Work Items جوه الـ project، وإعداداته هي اللي بتحدد إزاي التغييرات بتتراجع وبتتسلّم.
Work Item
ده مصطلح خاص بـ Serpent، وأول حاجة لازم تعرفها. الـ Work Item هي وحدة التغيير: فيتشر واحد أو إصلاح واحد، وليه الـ Git branch والـ scope المتتبّع بتاعه متجهّزين ليك من الأول. فكّر فيها إنها تيكت والبرانش بتاعه في حاجة واحدة، عشان تركز على تغييرات Salesforce بدل ما تدير الـ branches بإيدك.
الـ orgs والـ sandboxes والـ production
دي مصطلحات Salesforce قياسية. الـ org هي بيئة Salesforce. الـ sandboxes هي نسخ للبناء والاختبار، والـ production هي الـ org الشغّالة بتاعة يوزرز الشركة. الـ project بيربط الـ orgs اللي بيطوّر عليها وبينشر لها.
Dev Hub والـ scratch orgs
دي مصطلحات Salesforce قياسية. الـ scratch org هي بيئة مؤقتة مبنية على الـ source بتتعمل وقت الحاجة لشغلانة واحدة، وبعدين بتتحذف. الـ Dev Hub هي الـ org اللي بتدي الإذن إنها تتعمل.
Review request
ده اسم Serpent للـ pull request. لما الـ Work Item يبقى جاهز، بيعدي على review request عشان زميلك يقدر يوافق على التغييرات قبل ما تتنشر. سواء المراجعة إجبارية ولا لأ، ده بيتحدد على مستوى كل project.
Automation flow
ده مصطلح خاص بـ Serpent. عبارة عن pipeline قابل للتهيئة بيشغّل خطوات أوتوماتيك، زي النشر بعد الـ merge أو رجوع تغيير لمرحلة سابقة، عشان شغل التوصيل الروتيني متتحتاجش تعمله بإيدك.
Release
مجموعة تغييرات بتتنشر مع بعض وبتتتبّع كوحدة واحدة، عشان تشوف إيه اللي اتنشر وترجع فيه لو احتجت.
إزاي الأجزاء بترتبط مع بعض
سير العمل بيمشي من فوق لتحت: الـ workspace فيه projects بتاعتك؛ جوه الـ project بتعمل Work Item لكل تغيير؛ بتبني التغيير على orgs بتاعتك؛ بتبعته على review request؛ والشغل اللي اتوافق عليه بيتنشر في release. الـ Work Item بيقابله branch، والـ review request بيقابله pull request، والـ release بيقابله deployment.
تتوقع إيه لما تعمل Work Item
لما تعمل Work Item، Serpent بتعمل الـ Git branch بتاعه على طول وتفتح الـ Work Item جاهز لتغييراتك. ده بيعتمد إن الـ source control بتاع الـ project يكون متوصّل من الأول. لو مفيش branch ظهر، يبقى الـ source control لسه مش متوصّل: افتح Project Settings > Source Control، وصّل الـ provider بتاعك، وبعدين اعمل الـ Work Item تاني.
امتى تستخدم Serpent
استخدم Serpent لما تحب تغييرات Salesforce تبقى متتبّعة ومراجَعة ومنشورة زي ما فريق سوفتوير بينشر الكود، لكن من غير ما تركّب branches وscratch orgs وسكريبتات نشر بنفسك. بتستبدل الروتين اليدوي بتاع الـ change sets، والـ branches المدارة بإيدك، ونشرات الـ CLI المتفرقة، بمسار موجّه وقابل للمراجعة من الـ work item لحد الـ production.