كيف تستخدم فرق تطوير الشركات GitLab و Mattermost ChatOps لتسريع التطوير

مرحبا مجددا! في فبراير ، أطلقت OTUS دورة CI / CD الجديدة على AWS و Azure و Gitlab . عشية بدء الدورة ، قمنا بإعداد ترجمة لمواد مفيدة.





مجموعة كاملة من أدوات DevOps ، رسول مفتوح المصدر و ChatOps - كيف لا تقع في الحب؟

لم يكن هناك أي ضغط من هذا القبيل على فرق التطوير كما هو الآن ، مع هذه الرغبة في إنشاء منتجات بشكل أسرع وأكثر كفاءة. كانت الشعبية المتزايدة لـ DevOps إلى حد كبير نتيجة للتوقعات الموضوعة عليه لتسريع دورة التطوير ، وزيادة المرونة ومساعدة الفرق على التأقلم بشكل أسرع. على الرغم من حقيقة أن توافر أدوات DevOps وشموليتها قد تحسن بشكل كبير على مدى السنوات القليلة الماضية ، إلا أن التحديد البسيط لأحدث الأدوات وأفضلها لا يضمن دورة حياة تطوير سلسة وخالية من المتاعب.

لماذا جيت لاب


في نظام بيئي يتسم بخيارات وتعقيدات متزايدة باطراد ، يوفر GitLab منصة DevOps مفتوحة المصدر متكاملة يمكنها تسريع دورة التطوير وخفض التكاليف وزيادة إنتاجية المطورين. من التخطيط والتعليمات البرمجية إلى النشر والمراقبة (والعكس صحيح) ، يجمع GitLab بين العديد من الأدوات المتنوعة في مجموعة واحدة مفتوحة المصدر.

لماذا يهم ChatOps


في ماترموست ، نحن من كبار المعجبين بـ GitLab ، ولهذا السبب يأتي ماترموست مع GitLab Omnibus ونحن نعمل للتأكد من أن ماترموست يعمل بسهولة مع GitLab . يتيح لك

النظام الأساسي المفتوح Mattermost ChatOps توفير المعلومات ذات الصلة لفريقك واتخاذ القرارات مباشرة في مكان المحادثة. عند حدوث مشكلة ، يمكن لسير عمل ChatOps تنبيه أعضاء الفريق ذوي الصلة الذين يعملون معًا لحل المشكلة مباشرةً في Mattermost.

يوفر ChatOps طريقة للتفاعل مع مهام CI / CD من خلال المراسلة. اليوم ، داخل المؤسسات ، تم إرسال الكثير من المناقشات والتعاون والحلول للمشاكل إلى المرسلين ، ويمكن أن تؤدي القدرة على تشغيل مهام CI / CD مع عودة الإخراج إلى القناة إلى تسريع عملية عمل الفريق بشكل كبير.

ماترموست + جيت لاب


مجموعة كاملة من أدوات DevOps ، رسول مفتوح المصدر و ChatOps - كيف لا تقع في الحب؟ باستخدام GitLab و Mattermost ، لا يمكن للمطورين تبسيط عملية DevOps فحسب ، بل يمكنهم أيضًا نقلها إلى نفس واجهة الدردشة حيث يناقش أعضاء الفريق المشكلات ويتعاونون ويتخذون القرارات.

في ما يلي بعض الأمثلة عن كيفية مشاركة فرق التطوير لـ Mattermost و GitLab لتحسين إنتاجيتها باستخدام ChatOps.

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

بدأوا في استخدام GitLab حوالي عام 2014 واستخدموا في الغالب أداة الدردشة القديمة للعمل اليومي والرسائل ومكالمات الفيديو. ومع ذلك ، مع نمو الشركة ، لم تتوسع هذه الأداة معهم ؛ لم تكن هناك رسائل مخزنة بشكل دائم ، وتم العثور عليها بسهولة ، وأصبح العمل الجماعي أكثر صعوبة. لذلك بدأوا في البحث عن بديل.

بعد فترة وجيزة ، اكتشفوا أن حزمة GitLab Omnibus تأتي مع منصة الرسائل المفتوحة: Mattermost. وقد أحب على الفور وظيفة مشاركة التعليمات البرمجية البسيطة ، بما في ذلك تسليط الضوء على بناء الجملة ودعم Markdown الكامل ، بالإضافة إلى سهولة مشاركة المعرفة والبحث عن الرسائل وتعاون الفريق بشأن الأفكار لتطوير حلول جديدة متكاملة مع GitLab.

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

في ذلك الوقت بدأ رومان مانيسكي ، مطور itk ، في كتابة المكوّن الإضافي لـ GitLab لـ Mattermost ، والذي سمح لاحقًا لفريقه بالاشتراك في إشعارات GitLab في Mattermost وتلقي إشعارات حول مشكلة جديدة وطلبات المراجعة في مكان واحد.

حتى الآن ، يدعم المكون الإضافي :

  • تذكيرات يومية للحصول على معلومات حول المشكلة وطلبات الدمج التي تتطلب انتباهك ؛
  • الإخطارات - لتلقي الإخطارات من Mattermost عندما يذكرك شخص ما ، أو يرسل إليك طلب مراجعة أو يعيد توجيهك إلى GitLab.
  • – , , , merge request’ Mattermost.
  • – , merge request’ issue GitLab.

تستخدم شركته الآن كل من GitLab و Mattermost لتسريع سير العمل باستخدام ChatOps. ونتيجة لذلك ، تمكنوا من تقديم التحديثات بشكل أسرع ، مما أدى إلى زيادة ثلاثة أضعاف في عدد المشاريع والخدمات الصغيرة التي كان الفريق يعمل عليها وإلى زيادة ستة أضعاف في عدد عمليات النشر في الإنتاج خلال العام ، كل هذا مع نمو فرق التطوير والمهندسين الزراعيين بنسبة 5 مرات.



تعمل شركة البرمجيات على تحسين الإنتاجية من خلال جعل الشفرة والتكوين أكثر شفافية وشفافية.

قامت شركة برمجيات وشركة خدمات بيانات مقرها في ماريلاند بتطبيق Mattermost المتكامل مع GitLab لزيادة الإنتاجية والتعاون بسلاسة. يقومون بإجراء التحليلات وإدارة البيانات وتطوير البرمجيات للمنظمات الطبية الحيوية حول العالم.

يتم استخدام GitLab بنشاط في فريقهم ، ويعتبرون استخدامه ميزة كبيرة في سير عمل DevOps.

قاموا أيضًا بدمج GitLab و Mattermost ، وجمع الالتزامات مع GitLab في قناة واحدة في Mattermost عبر webhooks ، مما سمح للإدارة بالحصول على فكرة عما يحدث في الشركة في يوم معين من "منظر جوي". بالإضافة إلى ذلك ، تمت إضافة التحديثات لإدارة التكوينات والتحكم في الإصدار ، والتي يمكنك من خلالها الحصول على لقطة للتغييرات المختلفة التي تم إجراؤها على البنية التحتية والأنظمة الداخلية خلال اليوم.

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

إحدى الفوائد الرئيسية لهذا التكامل هي شفافية التغييرات عبر الإصدارات وإدارة التكوين في الوقت الحقيقي. بمجرد تنفيذ التغييرات ودفعها ، يتم إرسال إشعار إلى قناة Heartbeat في الوقت الفعلي. يمكن لأي شخص الاشتراك في مثل هذه القناة. لا مزيد من التبديل بين التطبيقات أو الأسئلة الإضافية لأعضاء الفريق أو عمليات التتبع - الآن كل هذا يتركز في Mattermost ، بينما يتم تنفيذ إدارة التكوين وتطوير التطبيقات في GitLab.

يعمل كل من GitLab و Mattermost ChatOps على زيادة مستوى الرؤية والإنتاجية لتسريع عملية تطوير

Mattermost كجزء من حزمة GitLab Omnibusتوفير دعم GitLab SSO المدمج مسبقًا ، وتكامل GitLab المعبأ مسبقًا ودعم PostgreSQL ، بالإضافة إلى تكامل Prometheus ، مما يتيح مراقبة النظام وإدارة الاستجابة للحوادث . أخيرًا ، يمكن نشر Mattermost الآن باستخدام GitLab Cloud Native .

حتى هذه اللحظة ، لم يكن لدى فرق DevOps أداة أفضل مع المزايا التي توفرها ChatOps. قم بتثبيت GitLab Omnibus مع Mattermost وجربه بنفسك!

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

Source: https://habr.com/ru/post/undefined/


All Articles