التكامل المستمر والنشر المستمر هما من المبادئ الأساسية لـ DevOps. تعمل أتمتة عمليات الإنشاء والنشر على تمكين فرق تطوير البرامج من إجراء تغييرات أصغر في كثير من الأحيان.
الأتمتة تحد من الأخطاء بسبب الكود الذي يكتبه أعضاء الفريق الآخرون ، حيث تم سحب الرمز. لتحقيق هذه الفائدة ، من الضروري وجود درجة عالية من الأتمتة والتنسيق. أدخل جينكينز.
Jenkins هي واحدة من أكثر أدوات تنسيق المصادر المفتوحة شيوعًا ومرونة. بغض النظر عما إذا كنت تعمل على متراصة قديمة أو خدمات صغيرة ، في مكان العمل أو في السحابة ، يمكن لـ Jenkins مساعدتك.
في هذه المقالة ، لفهم كيفية عمل Jenkins لبناء الخوادم ، سنستعرض أساسيات كيفية تشغيل خادم Jenkins. سنقوم باقتراع مستودع Git محلي ، وتشغيل بعض أكواد PowerShell عند إجراء تغيير على هذا المستودع للتعرف على سير العمل.
المتطلبات الأساسية
نحصل على التدريب العملي في هذه المقالة. إذا كنت ترغب في المتابعة ، فتأكد من وجود بعض المتطلبات الأساسية:
- جهاز Mac أو Linux أو Windows به:
- Java 1.7 أو أعلى (يعمل Jenkins على Java)
- مدير الحزم (Chocolatey ، Homebrew ، apt ، yum ، إلخ)
- متصفح الويب (Chrome أو Firefox أو أي متصفح يستند إلى Chromium يعمل بشكل أفضل)
- Git (يمكن تثبيت هذا مع مدير الحزم)
- مستودع Git
تثبيت جينكينز
يمكنك تثبيت Jenkins بعدة طرق ، كل منها يناسب نظامًا أساسيًا مختلفًا وحالة استخدام. إذا كنت تقوم ببناء خادم إنتاج ، فقد ترغب في التفكير في استخدام طريقة مختلفة عن تلك الموضحة ، ولكن أسهل طريقة لتثبيت Jenkins هي باستخدام مدير الحزم.
في Windows ، من المحتمل أن تستخدم Chocolatey ، وعلى MacOS Homebrew ، وعلى Linux يعتمد ذلك على توزيع Linux الذي تستخدمه.
بمجرد تثبيت Jenkins ، يمكنك الوصول إليه مباشرة من متصفح الويب الخاص بك. افتح المتصفح وانتقل إلى
[localhost: 8080] (http:// localhost: 8080)، وسترى Jenkins يبدأ أو ينتظر كلمة مرور أولية.
يشير
localhost
إلى خدمة Jenkins التي تعمل الآن على جهازك بينما المنفذ
8080هو منفذ Jenkins UI الافتراضي.
البحث عن كلمة مرور المسؤول
في الصفحة الأولى ، يكتب Jenkins كلمة مرور لمرة واحدة إلى ملف ، ثم يعطيك موقع الملف. تضمن هذه العملية إمكانية الوصول إلى نظام ملفات النظام الذي قمت بتثبيته عليه.
احصل على كلمة المرور من هذا الملف ، أدخلها في مربع كلمة مرور المسؤول الموضح في لقطة الشاشة أدناه للمتابعة.

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

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

تثبيت المكونات الإضافية
الآن بعد أن تم تشغيل Jenkins ، يجب أن تعرف شيئًا عنه: خارج الصندوق ، لا يفعل Jenkins كثيرًا. لتحقيق أقصى استفادة من Jenkins ، يجب عليك تثبيت المكونات الإضافية.
الإضافات هي حزم مفتوحة المصدر تتفاعل مع البرامج والخدمات الأخرى داخل Jenkins.
يمكنك العثور على مكونات إضافية لأي شيء من أنظمة التحكم في الإصدار الإضافية ، إلى موفري السحابة ، إلى Chuck Norris.
PowerShell هو جزء من متطلبات هذه المقالة. على هذا النحو ، تحتاج إلى تثبيت المكون الإضافي PowerShell وربما Chuck Norris أيضًا.
انقر فوق Manage Jenkins في القائمة الموجودة على اليسار ، ثم ابحث عن أيقونة قطعة اللغز التي تقرأ Manage Plugins. بعد ذلك ، ضمن علامة التبويب "متاح" ، يمكنك التصفح والاطلاع على ما هو متاح.
انقر فوق مربع الاختيار بجوار المكون الإضافي PowerShell وانقر فوق تثبيت بدون إعادة تشغيل.

إنشاء مستودع Git
الشيء التالي الذي يتعين علينا القيام به هو إعداد مستودع git الخاص بنا. يستطلع Jenkins هذا المستودع لإجراء تغييرات لتشغيل بنائنا. احصل على عنوان URL للمستودع واستنسخه ، ولكن احفظ عنوان URL لأنك بحاجة إليه في الخطوة التالية.
مرة أخرى في Jenkins ، حدد عنصرًا جديدًا من الزاوية اليسرى العليا ، ثم انقر فوق Freestyle Project وقم بتسميته. يجب أن يكون الاسم الجيد فريدًا بالنسبة إلى Jenkins ، ولكنه يصف أيضًا بسرعة المهمة التي يقوم بها في أي مشروع.
الصفحة التالية التي يتم نقلك إليها هي صفحة تكوين المشروع.قد يبدو هذا مربكًا ، لكن لا تقلق بشأنه الآن. حتى في الإنتاج ، لن تستخدم معظم هذه الخيارات لأنه في حين أن كل خيار من هذه الخيارات له حالة استخدام لشخص ما ، فلن تناسب جميعها حالة الاستخدام الخاصة بك.
أثناء التمرير لأسفل في صفحة التكوين ، لاحظ الخيارات العديدة المتاحة. أدناه ، ستجد كل خيار والقيمة التي يجب توفيرها لهذا العرض التوضيحي.
إدارة كود المصدر
انقر فوق Git ، ثم أدخل عنوان URL الخاص بالمستودع في حقل URL الخاص بالمستودع. اترك باقي الإعدادات كافتراضية. سيخبر هذا جينكينز أن يستطلع هذا المستودع عن أي تغييرات في الفرع الرئيسي لأن هذا هو الإعداد الافتراضي.

بناء المشغلات
حدد استطلاع SCM ، ثم أدخل
في حقل الجدول. هذا هو مؤقت cron الذي يستقصي عن التغييرات التي تطرأ على هذا المستودع كل دقيقة.

بناء
ضمن القائمة المنسدلة Add Build Step ، حدد Windows PowerShell وأدخل
Get-ChildItem $ ENV: WORKSPACEفي حقل الأوامر. يستخدم هذا الأمر متغير Jenkins المدمج (الذي يتم تغطيته بمزيد من التفصيل قريبًا) لطباعة قائمة بالملفات من المستودع الذي تبحث عنه.

(اختياري) إجراءات ما بعد الإنشاء
إذا قمت بتثبيت مكون Chuck Norris الإضافي مسبقًا ، فحدد Activate Chuck Norris من القائمة المنسدلة لخطوة Add Post-build لإضافة التأثير المرئي للمكوّن الإضافي Chuck Norris إلى الوظيفة. لم يقم جينكينز بتنشيط تشاك نوريس ، يبحث جينكينز فقط عن موافقته.

تشغيل البنية
تتم جميع عمليات إنشاءات Jenkins في مساحة عمل ، وهي عبارة عن دليل على خادم Jenkins. يستنسخ المشروع الاختباري الذي حددته أعلاه المستودع من عنوان URL الخاص بـ git إلى مساحة العمل هذه ، ثم يقوم بتشغيل خطوات الإنشاء كنص.ps1.
في وقت سابق عندما أدخلت
$ ENV: WORKSPACE
في خطوة الإنشاء ، ربما تساءلت عن مصدر هذا المتغير. يوفر Jenkins بعض متغيرات البيئة في وقت تشغيل كل وظيفة ، بما في ذلك
$ ENV: مساحة العمل، والتي تشير إلى مسار المستودع المستنسخ.
الآن بعد أن تمت تهيئة وظيفتك ، حان الوقت لاختبارها. يمكنك تشغيله بإحدى طريقتين: إما دفع التزام جديد إلى المستودع وانتظر Jenkins لاستقصاء التغيير ، أو الضغط على زر Build Now على الجانب الأيسر من الصفحة.مهما كانت الطريقة التي تختارها ، فإنها تؤدي إلى تشغيل جديد لوظيفة Jenkins ، مما يعني أن صفحتك الرئيسية يجب أن تبدو الآن على النحو التالي:

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

نظرًا لأن هذا الإصدار تضمن أيضًا
Get-ChildItemفي مساحة عمل Jenkins ، يظهر الإخراج من cmdlet في الجزء السفلي من إخراج وحدة التحكم المشابهة لتلك الموجودة أدناه.

ملخص
الآن بعد أن عرفت كيفية إعداد خادم Jenkins ، وتثبيت المكونات الإضافية ، وتشغيل وظيفة ، يجب عليك إلقاء نظرة على ملحقات Jenkins المتوفرة من صفحة Manage Plug-Ins المذكورة سابقًا. لن تلائم جميعها احتياجاتك ، لكنها كلها تناسب بعض الاحتياجات وقد تستحق المعرفة عنها.
إذا كان لديك GitHub enterprise ، فيمكنك توصيل حساب GitHub الخاص بك بـ Jenkins للقيام بأشياء مثل طلب فحوصات الحالة قبل الدمج لإتقان عمليات النشر من المصدر وتشغيلها تلقائيًا ، وتشغيل خط أنابيب CI مقابل أي تغييرات جديدة في التعليمات البرمجية. استمتع!