الذكاء الإصطناعي

GitHub وMicrosoft Azure DevOps.. كيف يعمل التكامل بين المنصتين؟

يجمع التكامل بين GitHub وMicrosoft Azure DevOps عددًا من أدوات تطوير البرمجيات وإدارة المشاريع والأمان ضمن سير عمل واحد، ما يسمح للفرق باستخدام مستودعات GitHub أو Azure Repos مع أدوات CI/CD وإدارة المهام وميزات الأمان بحسب احتياجات المشروع.

ولا يعني هذا التكامل أن GitHub وAzure DevOps أصبحا منصة واحدة، فلكل خدمة أدواتها ووظائفها الخاصة. لكن Microsoft توفر مجموعة من عمليات الربط التي تسمح للفرق بالانتقال بين بيئات التطوير وإدارة المشاريع والأمان دون الحاجة إلى إعادة بناء سير العمل بالكامل.

ويزداد هذا التكامل أهمية مع توسع استخدام الذكاء الاصطناعي وأدوات أمان البرمجيات، خصوصًا مع توفر GitHub Advanced Security داخل Azure DevOps.

ما العلاقة بين GitHub وAzure DevOps؟

GitHub هو منصة لاستضافة الأكواد وإدارة المستودعات والتعاون بين المطورين، بينما يقدم Azure DevOps مجموعة من الخدمات التي تغطي إدارة المشاريع والمستودعات وخطوط التطوير والاختبار والتسليم.

وتشمل منظومة Azure DevOps خدمات مثل Azure Repos وAzure Boards وAzure Pipelines وAzure Test Plans.

وبالتالي يمكن للفريق استخدام GitHub لإدارة الكود والمراجعات، مع الاستفادة من Azure Boards لإدارة عناصر العمل أو Azure Pipelines لأتمتة عمليات البناء والاختبار والنشر.

هذا يجعل العلاقة بين المنصتين أقرب إلى التكامل بين أدوات مختلفة بدل كونها شراكة منفصلة بين شركتين مستقلتين.

كيف يعمل التكامل بين GitHub وAzure DevOps؟

يمكن ربط GitHub بخدمات Azure DevOps في أكثر من مرحلة من دورة تطوير البرمجيات.

فعلى سبيل المثال، يمكن استخدام مستودع GitHub كمصدر للكود في Azure Pipelines، بحيث تبدأ عملية بناء واختبار التطبيق عند حدوث تغييرات على المستودع.

كما يمكن ربط عمليات التطوير بعناصر العمل الموجودة في Azure Boards، ما يساعد الفرق على تتبع العلاقة بين المهام والتغييرات البرمجية وطلبات السحب.

وتتيح هذه الطريقة للمؤسسات اختيار الأداة الأنسب لكل مرحلة بدل نقل كامل عملية التطوير إلى منصة واحدة.

GitHub وAzure Pipelines

تعد Azure Pipelines من أبرز نقاط التكامل بين الخدمتين.

يمكن للفرق إنشاء مسارات CI/CD تعمل عند تحديث مستودع GitHub، ثم تنفيذ عمليات مثل بناء المشروع وتشغيل الاختبارات وإعداد الملفات المطلوبة للنشر.

وهذا يسمح بتحويل سلسلة من الخطوات اليدوية إلى عملية آلية يمكن تكرارها مع كل تغيير في الكود.

وبالنسبة للمؤسسات التي تستخدم GitHub لإدارة المستودعات، يمكن أن يكون Azure Pipelines طبقة إضافية لإدارة عمليات البناء والاختبار والنشر ضمن بيئة Azure DevOps.

Azure Boards مع GitHub

يمكن كذلك ربط Azure Boards بمستودعات GitHub حتى تصبح العلاقة بين إدارة العمل وتطوير الكود أكثر وضوحًا.

فعند العمل على ميزة جديدة أو إصلاح مشكلة، يمكن ربط عناصر العمل بالتغييرات البرمجية وطلبات السحب، ما يساعد الفريق على معرفة ما الذي يتم تطويره ولماذا.

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

بدل البحث عن المعلومات في أنظمة منفصلة، يمكن للفريق تتبع جزء أكبر من دورة العمل من خلال الروابط بين عناصر Azure Boards ومستودعات GitHub.

GitHub Advanced Security يصل إلى Azure DevOps

من أهم التطورات في العلاقة بين GitHub وAzure DevOps توفر GitHub Advanced Security for Azure DevOps.

وتوفر الخدمة مجموعة من أدوات أمان البرمجيات داخل Azure Repos، وتشمل فحص الأسرار، وفحص الاعتماديات، وفحص الكود باستخدام CodeQL.

ويستطيع النظام اكتشاف بعض بيانات الاعتماد الحساسة الموجودة في المستودعات، كما توفر ميزة Push Protection إمكانية منع تسريب بعض الأسرار قبل دفعها إلى المستودع.

وهذا يعني أن أدوات الأمان التي ارتبطت لفترة طويلة بمنظومة GitHub أصبحت متاحة أيضًا ضمن بيئة Azure DevOps، لكن تطبيقها يكون على مستودعات Azure Repos.

فحص الكود باستخدام CodeQL

يوفر GitHub Advanced Security for Azure DevOps إمكانية استخدام CodeQL لتحليل الكود والبحث عن الثغرات الأمنية وأخطاء برمجية محتملة.

ويمكن إعداد فحص الكود بالطريقة الافتراضية أو من خلال إعداد متقدم داخل Azure Pipelines.

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

وهذا يتيح للفرق اختيار مستوى التحكم الذي يناسب طبيعة المشروع بدل فرض إعداد واحد على جميع المستودعات.

فحص الاعتماديات والأسرار

لا تقتصر أدوات الأمان على تحليل الكود نفسه.

يوفر GitHub Advanced Security for Azure DevOps أيضًا Dependency Scanning للبحث عن الثغرات المعروفة في الاعتماديات مفتوحة المصدر، سواء كانت الاعتماديات مباشرة أو غير مباشرة.

أما Secret Scanning فيبحث عن بيانات الاعتماد التي ربما وصلت إلى المستودع، بينما تعمل Push Protection على محاولة منع بعض الأسرار من الوصول إلى المستودع من الأساس.

وهذا يضيف طبقة أمنية إلى دورة التطوير بدل انتظار اكتشاف المشكلة بعد نشر التطبيق.

GitHub Secret Protection وGitHub Code Security

شهدت منظومة Azure DevOps أيضًا تغييرًا مهمًا في طريقة تقديم ميزات الأمان.

فأصبح GitHub Secret Protection وGitHub Code Security متاحين كمنتجين مستقلين في Azure DevOps للعملاء الجدد.

يوفر Secret Protection ميزات مثل Secret Scanning وPush Protection، بينما يركز Code Security على فحص الاعتماديات وفحص الكود وميزات الأمان المرتبطة بها.

أما العملاء الحاليون الذين يستخدمون تجربة GitHub Advanced Security المجمعة فيمكنهم الاستمرار في استخدامها.

وهذا التغيير يجعل المؤسسات قادرة على اختيار مجموعة الحماية التي تحتاج إليها بدل التعامل مع جميع ميزات الأمان كحزمة واحدة.

ماذا يستفيد المطورون من التكامل؟

الفائدة الأساسية ليست أن GitHub وAzure DevOps يقدمان الوظائف نفسها، بل أن الفريق يستطيع الجمع بين الأدوات التي يحتاج إليها.

إدارة الكود

يمكن للمطورين استخدام GitHub كمستودع للكود والاستفادة من ميزاته الخاصة بالتعاون ومراجعة التغييرات وطلبات السحب.

إدارة المشاريع

يمكن استخدام Azure Boards لتنظيم المهام وتتبع الأخطاء وربط عناصر العمل بالتغييرات البرمجية.

CI/CD

تسمح Azure Pipelines بأتمتة عمليات البناء والاختبار والنشر، بما في ذلك المسارات التي تعتمد على مستودعات GitHub.

الأمان

يمكن استخدام ميزات GitHub المتقدمة للأمان داخل Azure DevOps، خصوصًا مع مستودعات Azure Repos.

بهذه الطريقة يمكن للفريق اختيار الأدوات وفق المرحلة التي يعمل عليها بدل تغيير طريقة العمل بالكامل.

هل يعني ذلك أن GitHub أصبح جزءًا من Azure DevOps؟

ليس بالمعنى الحرفي.

GitHub وAzure DevOps ما زالا يقدمان خدمات ومنتجات مختلفة، ولكل منهما واجهته وأدواته الخاصة.

لكن Microsoft تعمل على تحسين نقاط الاتصال بين المنصتين، ما يجعل استخدامهما معًا أكثر عملية للمؤسسات التي تعتمد على خدمات متعددة.

ومن المهم أيضًا التفريق بين GitHub Advanced Security for Azure DevOps وبين GitHub Advanced Security المستخدم مع مستودعات GitHub.

فوثائق Microsoft توضح أن نسخة Azure DevOps من Advanced Security تعمل مع Azure Repos، بينما استخدام GitHub Advanced Security مع مستودعات GitHub يتم عبر منظومة GitHub نفسها.

ماذا عن تكلفة ميزات الأمان؟

لا تأتي جميع ميزات GitHub Advanced Security for Azure DevOps ضمن الاستخدام الأساسي لـAzure DevOps.

توضح Microsoft أن استخدام Advanced Security يتطلب ترخيصًا، ويتم احتساب التكلفة وفق عدد المستخدمين النشطين الذين يساهمون في مستودعات تم تفعيل Advanced Security عليها.

ويُحسب المستخدم كـActive Committer إذا ظهر في عملية دفع إلى مستودع خلال آخر 90 يومًا، مع إزالة التكرار بين المستخدمين ضمن الاشتراك نفسه.

لذلك ينبغي للمؤسسات حساب عدد المساهمين الفعليين قبل تفعيل ميزات الأمان على نطاق واسع.

هل التكامل مناسب لكل الفرق؟

ليس بالضرورة.

إذا كان الفريق يعتمد بالكامل على GitHub، فقد لا تكون هناك حاجة إلى استخدام جميع أدوات Azure DevOps.

وفي المقابل، قد تكون Azure DevOps أكثر ملاءمة للمؤسسات التي تعتمد بالفعل على Azure Boards وAzure Pipelines وAzure Repos وتحتاج إلى إضافة طبقة أمنية متقدمة.

وتصبح الاستفادة أكبر عندما يكون لدى المؤسسة بيئة مختلطة تحتاج إلى ربط إدارة المشاريع بالكود وعمليات CI/CD والأمان.

الذكاء الاصطناعي يغير دورة تطوير البرمجيات

إلى جانب التكامل بين الأدوات، أصبحت Microsoft وGitHub تركزان بصورة أكبر على الذكاء الاصطناعي داخل دورة تطوير البرمجيات.

ويظهر ذلك من خلال GitHub Copilot وغيرها من الأدوات التي تهدف إلى مساعدة المطور في كتابة الكود وفهمه ومراجعته.

لكن من المهم عدم الخلط بين GitHub Copilot وبين التكامل نفسه؛ فCopilot أداة ذكاء اصطناعي للمطورين، بينما التكامل بين GitHub وAzure DevOps يتعلق بربط مستودعات الكود وإدارة العمل وخطوط التطوير والأمان.

وهذا الفصل مهم عند تقييم الفوائد الفعلية لكل تقنية داخل المؤسسة.

الأمان يصبح جزءًا من دورة التطوير

أحد أهم الاتجاهات التي تعكسها هذه الأدوات هو انتقال الأمان من مرحلة منفصلة في نهاية المشروع إلى مرحلة موجودة داخل دورة التطوير نفسها.

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

وتشير Microsoft إلى أن GitHub Advanced Security يهدف إلى اكتشاف الثغرات والأسرار ومخاطر الاعتماديات في وقت مبكر، مع إمكانية دمج النتائج في سير عمل التطوير.

كما أصبحت بعض نتائج Advanced Security قابلة للربط مباشرة بعناصر العمل في Azure DevOps، ما يقلل الخطوات اليدوية عند تحويل مشكلة أمنية إلى مهمة تحتاج إلى معالجة.

الخلاصة

لا يمكن وصف العلاقة بين GitHub وMicrosoft Azure DevOps بأنها مجرد «اتفاقية شراكة» جديدة، فالصورة الحالية أكثر تعقيدًا.

الأصح هو الحديث عن تكامل بين منظومتين تابعتين لـMicrosoft يمكن للمؤسسات استخدامهما معًا وفق احتياجاتها.

يقدم GitHub أدوات قوية لإدارة الكود والتعاون والذكاء الاصطناعي، بينما يوفر Azure DevOps مجموعة واسعة لإدارة المشاريع وعمليات CI/CD والاختبار، ويمكن ربط أجزاء من هذه المنظومة معًا.

وفي جانب الأمان، يمثل وصول GitHub Advanced Security إلى Azure DevOps أحد أهم نقاط التقاطع بين الخدمتين، خصوصًا مع توفر Secret Scanning وPush Protection وDependency Scanning وCodeQL.

وبذلك يصبح السؤال بالنسبة للشركات ليس أي منصة يجب أن تحل محل الأخرى، بل كيف يمكن الجمع بين الأدوات المناسبة لإنشاء دورة تطوير أكثر ترابطًا وأمانًا؟

ELSAYED AHMED

كاتب ومؤسس موقع Games Zone Pro، متخصص في تغطية أخبار الألعاب، مراجعات الهواتف، والتقنيات الحديثة، مع التركيز على تقديم محتوى عربي دقيق، سهل القراءة، ومتوافق مع أحدث معايير محركات البحث.

اترك تعليقاً

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها بـ *

زر الذهاب إلى الأعلى