تشغيل سير عمل
يجب عدم السماح لأي شخص بدفع أي تغييرات مباشرة على الفرع الرئيسي في مستودع تعليماتك البرمجية. وإذا كان من اللازم إجراء أي تطوي، يجب إجراء تغييرات على نسخة من التعليمات البرمجية في أي فرع.
من الشائع عادة العمل باستخدام فروع الميزات، حيث يُستخدم الفرع للعمل على ميزة. على سبيل المثال، قد يحتاج فريق علوم البيانات إلى تحسين أداء النموذج، وسيحاول فعل ذلك عن طريق تجربة قيم المعلمات الفائقة. يمكن للفريق إنشاء فرع، وتحديث قيمة المعلمة الفائقة في البرنامج النصي للتدريب. وبمجرد الانتهاء من التجربة، يمكن لأحد علماء البيانات إنشاء طلب سحب من أجلدمج الفرع مع المستودع الرئيسي.
يسمح لك العمل باستخدام الفروع وطلبات السحب بالتحقق من أي تغييرات على التعليمات البرمجية قبل دمجها مع الفرع الرئيسي. يمكن أيضاً استخدام طلبات السحب باعتبارها مشغّلاً لـ GitHub Actions من أجل أتمتة المهام التي تحتاج إلى اتباع تحديث مقترح للتعليمات البرمجية، مثل عمليات التحقق التلقائية من جودة التعليمات البرمجية.
لاستخدام التطوير المستند إلى الميزات مع الأتمتة، ستحتاج إلى:
- إنشاء قاعدة حماية فرع لحظر محاولات الدفع المباشر إلى الفرع الرئيسي.
- إنشاء فرع لتحديث التعليمة البرمجية.
- تشغيل سير عمل GitHub Actions عند فتح طلب سحب.
إنشاء قاعدة حماية فرع
لحماية تعليماتك البرمجية، يجب حظر أي محاولات دفع مباشر إلى الفرع الرئيسي. حظر محاولات الدفع المباشر يعني عدم السماح لأي شخص بدفع أي تغييرات تخص التعليمات البرمجية مباشرة إلى الفرع الرئيسي. وبدلاً من ذلك، يمكن إجراء تغييرات على الفرع الرئيسي عن طريق دمج طلبات السحب.
لحماية الفرع الرئيسي، قم بتمكين branch protection rule في GitHub:
- انتقل إلى علامة التبويب Settings داخل مستودعك.
- في علامة التبويب Settings، أسفل Code and automation، حدد Branches.
- حدد إضافة قاعدة.
- أدخل
mainأسفل Branch name pattern. - قم بتمكين Require a pull request before merging وRequire approvals.
- احفظ تغييراتك.
إنشاء فرع لتحديث التعليمة البرمجية.
كلما أردت تحرير التعليمات البرمجية، سيتعين عليك إنشاء فرع والعمل عليه. بمجرد الانتهاء والرغبة في جعل التغييرات نهائية، يمكنك إنشاء طلب سحب لدمج فرع الميزة مع الفرع الرئيسي.
تلميح
تعرف على المزيد حول التحكم بالمصادر لمشاريع التعلم الآلي والعمل مع التطوير المستند إلى الميزات.
تشغيل سير عمل GitHub Actions
وأخيراً، قد تحتاج إلى استخدام إنشاء طلبات السحب باعتباره مشغّلاً لمهام سير عمل GitHub Actions. على سبيل المثال، عندما يجري أي شخص تغييرات على التعليمات البرمجية، ستحتاج إلى تشغيل بعض عمليات التحقق من جودة التعليمات البرمجية.
وفقط عندما تجتاز التعليمات البرمجية المعدَّلة عمليات التحقق من الجودة، ويتحقق هذا الشخص من التغييرات المقترحة، سيكون بإمكانك دمج طلب السحب.
لتشغيل سير عمل GitHub Actions، يمكنك استخدام on: [pull_request]. عند استخدام هذا المشغّل، سيتم تشغيل سير العمل لديك في كل مرة يتم فيها إنشاء طلب السحب.
إذا كنت تريد تشغيل سير عمل في كل مرة يتم فيها دمج طلب سحب، فستحتاج إلى استخدام مشغّل آخر. دمج طلب سحب هو في الأساس عملية دفع إلى الفرع الرئيسي. ومن ثم، لتشغيل سير عمل عند دمج طلب سحب، يجب استخدام المشغّل التالي في سير عمل GitHub Actions:
on:
push:
branches:
- main