كيفية دمج الفروع في جيثب، إلغاء دمج جيثب، فرع جيثب

إنشاء فرع في GitHub ودمجه بأمان

إن تعلم كيفية إنشاء فرع في GitHub هو الخطوة الأولى. ومع ذلك، فإن إتقان كيفية دمج الفروع في GitHub بأمان أمر بالغ الأهمية لكل فرع. GitHub جيثب: سير العمل. لذا، في هذه التدوينة، سنشرح لك العملية بأكملها، بدءًا من كيفية إنشاء فرع في GitHub ومن ثم نعرض لكم كيفية دمج الفروع في GitHub سنغطي أيضًا كيفية إلغاء الدمج في حال وجود أي مشاكل، وأخيرًا، كيف يساعدك Xygeni في اكتشاف أي مشكلة قبل وصولها إلى فرعك الرئيسي.

دعونا نسير من خلاله خطوة بخطوة.

1. كيفية إنشاء فرع في GitHub بالطريقة الصحيحة

يبدأ كل سير عمل آمن بإنشاء فرع في GitHub. يتيح هذا للمطورين عزل الميزات أو الإصلاحات أو التجارب دون التأثير على شيفرة الإنتاج.

لإنشاء فرع في GitHub:

1. انتقل إلى مستودعك

2. انقر فوق القائمة المنسدلة لمحدد الفرع

كيفية دمج الفروع في جيثب، وإلغاء دمج جيثب وتفرع جيثب

3. اكتب اسم فرعك الجديد

4. انقر إنشاء فرع

كيفية دمج الفروع في جيثب، وإلغاء دمج جيثب وتفرع جيثب

من هنا، فرعك الجديد جاهز للانطلاق. يمكنك الآن إرسال الكود، والتعاون في التغييرات، وفتح فرع جديد. pull requestعلى الرغم من أن هذا إجراء أساسي في GitHub، إلا أنه يمهد الطريق للتطوير الآمن.

الأمر المهم هو أنه في كل مرة تقوم فيها بإنشاء فرع في GitHub، يجب أن يكون ذلك جزءًا من سير عمل متكرر ومحمي.

2. المسح الضوئي Pull Requests تلقائيًا قبل الدمج

عند إنشاء فرع في GitHub والاستعداد للمراجعة، فإن الخطوة التالية هي فهم كيفية دمج الفروع في GitHub بأمان. يجب أن يُفعّل كل فرع في GitHub عمليات فحص آلية. ولكن قبل الدمج، من الضروري: تحقق من أن الكود لا يقدم أي ثغرات أمنية. واحد غير آمن commit يمكنك عرض تطبيقك، leak secretس، أو كسر البنية التحتية الحيوية.

دمج الكود في فرعك الرئيسي عملية بالغة الأهمية. فبدون إجراءات التحقق المناسبة، قد يؤدي ذلك إلى عواقب وخيمة، مثل:

هذا هو المكان الذي يحدث فيه Xygeni فرقًا حقيقيًا

باستخدام إجراءات جيثب، يمكنك تشغيل عمليات مسح Xygeni الآلية كلما فتح مطور ملفًا pull request في فرع محمي. الفرع المحمي في GitHub هو الفرع الذي يتطلب فحوصات أو موافقات محددة قبل السماح بدمج التغييرات.

يقوم Xygeni بتحليل أحدث تنفيذ لـ pull request سير العمل للتحقق من سلامة التغييرات المقترحة. ويشمل ذلك التحقق من المشكلات في الكود والتبعيات والأسرار، و CI/CD تكويناتلا يتم إعادة فحص الفرع بالكامل، ولكن يتم استخدام نتيجة سير العمل الأحدث لفرض السياسات ومنع عمليات الدمج غير الآمنة.

تُثبت هذه الفحوصات أن الكود آمن وجاهز للإنتاج. وتكشف عن:

دمج هذه الفحوصات المبكرة تضمن أنه في كل مرة تقوم فيها بإنشاء فرع في GitHub والاستعداد للدمج، فإنك تفعل ذلك باستخدام الرؤية الكاملة والتحكم.

فيما يلي إعداد مبسط:

on:
  pull_request:
    branches: [ main ]
jobs:
  xygeni-scan:
    runs-on: ubuntu-latest
    steps:
      - name: Checkout
        uses: actions/checkout@v3
      - name: Xygeni Scanner
        uses: xygeni/xygeni-action@3.2.0
        with:
          token: ${{ secrets.XYGENI_TOKEN }}

3. حظر عمليات الدمج غير الآمنة مع Guardrails

Guardrailsتأكد من أنه عند إنشاء فرع في GitHub أو محاولة دمج الفروع فيه، لن تصل إلا التغييرات الآمنة إلى فرعك الرئيسي في GitHub. يوفر لك Xygeni السيطرة الكاملة على ما يتم دمجه. يمكنك تعريف ما قبلcisقواعد مصممة خصيصًا لسياسات الأمان لديك وقدرتك على تحمل المخاطر. على سبيل المثال:

  • حظر إذا كان هناك سر بالغ الأهمية تم العثور عليها (على سبيل المثال، مفاتيح AWS والرموز)
  • فشل البناء إذا جديدة عالية المخاطر تم تقديم حزمة مفتوحة المصدر
  • رفض pull requests أن تعديل المسارات الحساسة مثل .github/workflows/, infrastructure/ أو secrets.env
  • منع الدمج إذا إعادة تقديم الإصدار الأدنى معروف نقاط الضعف
  • حظر CI/CD تغييرات التكوين ما لم يتم تصنيفها بشكل صحيح
  • إيقاف الدمج إذا SAST يكتشف ارتفاع أو القضايا الحرجة
  • تطبيق أكثر صرامة Guardrails في فروع الإنتاج مع الحفاظ على المرونة في التطوير

تعمل هذه القواعد كبوابات آلية. فهي تساعد فريقك على دمج ما هو آمن فقط، دون مفاجآت، أو مراجعات يدوية، أو تدخلات طارئة.

مثال على قاعدة الحاجز الواقي:

guardrail block_critical_secrets
  on secrets
  when severity = critical
  then @fail()

ردود الفعل البصرية في Dashboard

كيفية دمج الفروع في جيثب، وإلغاء دمج جيثب وتفرع جيثب

لضمان الرؤية الكاملة، يعرض Xygeni نتيجة أحدث تقييم لحالة Guardrail.

  • أولا، الرمز الأخضر يعني أن جميع السياسات تم إقرارها.
  • فى المقابل، يشير الرمز الأحمر إلى انتهاك شرط واحد أو أكثر من شروط Guardrail.

ونتيجة لذلك، يكتسب كل من المطورين وفرق الأمان نظرة فورية حول سبب حظر الدمج، دون البحث في سجلات CI.

مثال حقيقي من Dashboard:

على سبيل المثال، لنفترض أن المستودع لا يحتوي على فروع محمية، وهو خطأ شائع في التكوين يسمح للمطورين بالدفع commitبدون تحقق. هذا خطر كبير.

يكتشف Xygeni هذا تلقائيًا ويضع علامة عليه كـ وقعت_commits قضية تحت CI/CD فئة. ال dashboard يسلط الضوء:

  • الخطورة: مرتفع
  • النوع: وقعت Commits
  • التفسير: لا يوجد لدى المستودع فروع محمية
  • الحالة: ساعات العمل

وبالتالي، بفضل هذه الملاحظات الغنية بالسياق، تستطيع الفرق تحديد المخاطر بسرعة، وفهم تأثيرها، واتخاذ الإجراءات التصحيحية، كل ذلك من خلال واجهة مستخدم Xygeni.

تخصيص سلوك التنفيذ

أنت دائمًا المتحكم. اختر مدى صرامتك Guardrails يجب ان يكون:

  • --fail-on=critical: يتم دمج الكتل فقط في حالة النتائج الشديدة
  • --never-fail: يجري Guardrails في وضع التشغيل التجريبي لاختبار السياسات قبل فرضها

لذا في المرة القادمة التي تقوم فيها بإنشاء فرع في GitHub، Guardrails موجودة بالفعل، تحميك pipeline وتنفيذ سياساتك تلقائيًا.

كيف أعرف أن تطبيق GitHub آمن؟

تعرف على كيفية تقييم تطبيقات GitHub قبل تثبيتها.

قراءة ذات الصلة:

4. إلغاء الدمج في GitHub تلقائيًا عند اكتشاف المخاطر

في حال اكتشاف أي مخاطر، يُلغى الدمج. يحمي هذا الإجراء جميع فروع مشاريع GitHub، ويطبق أفضل الممارسات لدمج الفروع في GitHub.

يتكامل Xygeni مباشرةً مع واجهة مستخدم GitHub. عند اكتشاف خطر:

  • يُظهر GitHub الفحص على أنه فاشل
  • تمنع حماية GitHub الدمج
  • تتخطى قائمة الدمج الكود غير الآمن

سواء كان الأمر سريًا أو CVE أو خطيرًا CI/CD النمط، والنتيجة هي نفسها: تم إلغاء الدمج في GitHub وتم وضع علامة عليها للمراجعة.

يمكنك أيضًا عرض النتائج التفصيلية في Xygeni:

  • الحالة الأمنية لكل فرع
  • لماذا تم حظر الدمج
  • سجل المسح الكامل
  • يتم عرض حالة الحاجز الواقي من خلال الأيقونات الخضراء (نجاح) أو الحمراء (فشل) في صفحة المشروع

تُسهّل هذه الملاحظات المرئية على المطورين وفرق الأمن اتخاذ الإجراءات بثقة. وعندما تحتاج إلى سياق أعمق، يتم ربط كل مشكلة بوثائق تتضمن معلومات عن خطورتها وعلاماتها وموقعها وإرشادات التخفيف.

دمج Tldr فقط ما هو آمن

باختصار، إليك كيفية الدمج بشكل آمن بعد إنشاء فرع في GitHub:

  • إنشاء فرع في GitHub من خلال واجهة المستخدم
  • تشغيل عمليات المسح التلقائي مع كل pull request مع زيجيني 
  • حظر عمليات الدمج غير الآمنة باستخدام Guardrails
  • استخدم سياسات التدقيق على جانب الخادم لتحقيق تحكم أعمق
  • إلغاء الدمج في GitHub عند فشل شيء ما
  • تصور جميع النتائج في Xygeni dashboard

للحصول على أفضل الممارسات الإضافية بشأن حماية المستودع، اقرأ الأسئلة الشائعة حول أمان GitHub: ما يجب أن يعرفه كل مطور.

مع أن الدمج عملية بسيطة، إلا أن إجراؤه بأمان يتطلب رؤيةً وأتمتةً حقيقيتين. مع Xygeni، لا يقتصر الأمر على دمج الكود فحسب، بل يشمل أيضًا دمج الثقة.

حماية كل فرع من فروع GitHub بثقة

قضية واحدة تم التغاضي عنها في pull request قد يُعرّض فرعك الرئيسي للخطر. غالبًا ما تتأخر عمليات الفحص التقليدية، أو تغفل عن المخاطر الحرجة، أو تفشل في تطبيق سياسات فعّالة.

ولهذا السبب فإن حماية فروع GitHub الخاصة بك تتطلب أكثر من مجرد المسح الضوئي.

يوفر Xygeni تطبيقًا حقيقيًا. عندما يكون للـ pull request يستهدف فرعًا محميًا، ويقوم Xygeni بتحليل أحدث تنفيذ لـ CI/CD سير العمل. لا يُعيد فحص الفرع بأكمله، بل يُقيّم أحدث النتائج للتحقق من وجود أي مشاكل أمنية في الكود، والتبعيات، والأسرار، وتكوينات سير العمل. أنت لست مُنبّهًا فحسب، بل محميّ.

ما الذي يجعلها مختلفة:

  • التحقق من صحة السياق الكامل: Guardrails فرض السياسة باستخدام سياق غني مثل شدة المشكلة وقابلية الاستغلال وبيانات الفرع.
  • التكامل المدمج مع GitHub: يتم تشغيل كل شيء من المسح الضوئي إلى التنفيذ بشكل أصلي داخل سير عمل GitHub الخاص بك، دون الحاجة إلى نصوص مخصصة أو كود لاصق.
  • عمليات التدقيق على جانب الخادم: من جانب الخادم Guardrails التحقق من صحة النتائج بعد التحميل، وإضافة طبقة ثانية من التحكم خارج pipeline.

بدلاً من الاعتماد على إعداد CI الخاص بك لالتقاط كل شيء، يطبق Xygeni إعدادات آلية تعتمد على السياسةcisقبل أن يصل أي شيء إلى فرعك الرئيسي.

مع أن الدمج عملية بسيطة، إلا أن إجراؤه بأمان يتطلب رؤيةً وأتمتةً حقيقيتين. مع Xygeni، لا تحمي مستودعاتك فحسب، بل تحمي كل فرع من فروع GitHub بثقة.

أدوات تحليل التركيبات البرمجية sca
إعطاء الأولوية للمخاطر التي تتعرض لها برامجك، ومعالجتها، وتأمينها
الإصدار التجريبي المجاني من 7 يومًا
لا ضرورة لبطاقة الائتمان

قم بتأمين تطوير البرامج الخاصة بك وتسليمها

مع مجموعة منتجات Xygeni