مشروع Jenkins Project

تحتوي هذه الصفحة على تفاصيل مشروع كتابة تقنيّة تم قبوله في موسم المستندات من Google.

ملخص المشروع

المؤسسة المفتوحة المصدر:
مشروع Jekins
الكاتب التقني:
Zaycodes
اسم المشروع:
Jenkins على Kubernetes
مدة المشروع:
المدة العادية (3 أشهر)

وصف المشروع

إنّ Kubernetes هي أداة لتنظيم حاويات غير متوافقة مع الأنظمة الأساسية أنشأتها شركة Google وتدعمها بشكل كبير منتدى البرامج المفتوحة المصدر كمشروع تابع لمؤسسة Cloud Native Computing Foundation. تسمح لك هذه السياسة باستخدام مثيلات الحاوية وإدارتها لقياس درجة الحرارة وتحمّل الأخطاء. وتعالج أيضًا مجموعة كبيرة من أنشطة الإدارة التي قد تتطلب حلولاً منفصلة أو رمزًا مخصّصًا، بما في ذلك توجيه الطلبات واكتشاف الحاويات وعمليات التأكّد من السلامة وتحديثات الحلّ.

يتوافق Kubernetes مع معظم أدوات CI/CD التي تتيح للمطوّرين إجراء الاختبارات ونشر الإصدارات في Kubernetes وتحديث التطبيقات بدون فترات توقف عن العمل. واحدة من أكثر أدوات CI/CD الآن هي Jenkins، للأسباب التالية: 1. وهو مفتوح المصدر ومجاني. 2. إنها سهلة الاستخدام وسهلة التثبيت ولا تتطلب عمليات تثبيت أو مكونات إضافية. 3. من السهل أيضًا ضبط Jenkins وتعديلها وتوسيعها. 4. وهي تنشر الرمز على الفور وتُنشئ تقارير الاختبار. 5. يمكن ضبط Jenkins وفقًا لمتطلبات عمليات الدمج المستمر والتسليم المستمر. 6. يتوفر Jenkins لجميع الأنظمة الأساسية وأنظمة التشغيل المختلفة، سواء كان OS X أو Windows أو Linux. 7. وتضم أيضًا منظومة متكاملة غنية للمكوّنات الإضافية. إنّ المجموعة الهائلة من المكوّنات الإضافية تجعل Jenkins مرنة وتتيح لك إنشاء محتوى ونشره وإدارته على أنظمة أساسية مختلفة. 8. وتتم معظم عمليات الدمج آليًا. وبالتالي، يتم عرض عدد أقل من مشاكل الدمج. وهذا يوفر الوقت والمال على مدار عمر المشروع.

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

الحالة الحالية

هناك الكثير من العروض التقديمية والمقالات حول تشغيل Jenkins على Kubernetes، ولكن لا يتوفّر موقع مركزي لوصف Jenkins على Kubernetes. وهذا ما يصعّب على: 1. يتنقّل Jenkins في مستخدمي Kubernetes بالتنقّل والعثور على المعلومات. 2. تتبُّع معلومات حول Jenkins على Kubernetes وتعديلها والحفاظ عليها

لماذا تعد الوثائق المقترحة أفضل من الوثائق الحالية؟

لحلّ المشكلة الحالية المتعلقة بـ Jenkins في مستندات Kubernetes، سأعمل على إنشاء صفحة Kubernetes Solutions على Jenkins.io باتّباع البنية التي أنشأتها. ستقوم صفحة "الحلول" هذه بتجميع المواد الحالية والمشاريع ذات الصلة. يقدم هذا المشروع المزايا التالية:

  1. يمكنك تحسين تجربة استخدام Jenkins لمستخدمي Kubernetes من خلال منحهم مساحة شاملة للحصول على معلومات عن Jenkins على Kubernetes.
  2. سهِّل تتبُّع المعلومات في Jenkins على Kubernetes وتحديثها والحفاظ عليها باستخدام صفحة "الحلول".

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

التحليل

أنشأتُ بنية لصفحة Kubernetes Solutions تُجمع بعض المواد الحالية على Jenkins على Kubernetes وتتضمّن روابط إلى بعض المصادر المفيدة. مع الأخذ في الاعتبار أيضًا أنّه "لا يمكنك إنشاء مستندات رائعة حقًا للمستخدمين إلا إذا تستمع إلى الأشخاص من خارج مؤسستك الذين يستخدمون المنتجات، وتتعرّف على مشاكلهم وتحاول معالجتها على أفضل وجه". لقد شاركتُ البنية الجديدة لصفحة الحلول في Kubernetes مع بعض مستخدمي Jenkins على منصة Kubernetes في مؤسستي Interswitch، وكذلك مع منتدى Jenkins لإطلاعهم على المستندات الجديدة التي سيطّلعون عليها في المستندات الجديدة. ما يمكنهم الاطّلاع عليه في المستندات الجديدة. ومع ذلك، يجب أن يقبل الموجّهون هذا الهيكل وتعديله قبل بدء التنفيذ.

أهداف المشروع

أنشِئ صفحة جديدة لحلول Kubernetes باتّباع هذه البنية في صفحة Jenkins Solution أو قسم يصف المفاهيم والتقنيات والخيارات المتوفّرة لمستخدمي Kubernetes الذين يديرون Jenkins.