كيفية بناء خادم بناء جنكينز

جدول المحتويات:

كيفية بناء خادم بناء جنكينز
كيفية بناء خادم بناء جنكينز
Anonim

التكامل المستمر والنشر المستمر هما من المبادئ الأساسية لـ 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. يمكن تغيير هذا لاحقًا ، ولكن من المهم اختيار واحد ستتذكره على الأقل أثناء عملية الإعداد ، مثل العملية أدناه.

قم بإعداد أول مستخدم إداري لـ 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 الذي يستقصي عن التغييرات التي تطرأ على هذا المستودع كل دقيقة.

حدد استطلاع SCM ، ثم أدخلفي حقل الجدول الزمني
حدد استطلاع SCM ، ثم أدخلفي حقل الجدول الزمني

بناء

ضمن القائمة المنسدلة Add Build Step ، حدد Windows PowerShell وأدخل

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

ضمن القائمة المنسدلة Add Build Step ، حدد Windows PowerShell وأدخل Get-ChildItem $ ENV: WORKSPACE في حقل الأوامر
ضمن القائمة المنسدلة Add Build Step ، حدد Windows PowerShell وأدخل Get-ChildItem $ ENV: WORKSPACE في حقل الأوامر

(اختياري) إجراءات ما بعد الإنشاء

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

حدد تنشيط Chuck Norris من القائمة المنسدلة لخطوة Add Post-build لإضافة التأثير المرئي للمكون الإضافي Chuck Norris إلى الوظيفة
حدد تنشيط Chuck Norris من القائمة المنسدلة لخطوة Add Post-build لإضافة التأثير المرئي للمكون الإضافي Chuck Norris إلى الوظيفة

تشغيل البنية

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

في وقت سابق عندما أدخلت

$ ENV: WORKSPACE

في خطوة الإنشاء ، ربما تساءلت عن مصدر هذا المتغير. يوفر Jenkins بعض متغيرات البيئة في وقت تشغيل كل وظيفة ، بما في ذلك

$ ENV: مساحة العمل، والتي تشير إلى مسار المستودع المستنسخ.

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

صفحتك الرئيسية بعد اختبار تشغيل جديد لوظيفة Jenkins الخاصة بك
صفحتك الرئيسية بعد اختبار تشغيل جديد لوظيفة Jenkins الخاصة بك

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

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

يُظهر Console Output كل خطوة في سطر الأوامر اتخذها Jenkins لتشغيل البنية
يُظهر Console Output كل خطوة في سطر الأوامر اتخذها Jenkins لتشغيل البنية

نظرًا لأن هذا الإصدار تضمن أيضًا

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

إخراج مشابه من cmdlet
إخراج مشابه من cmdlet

ملخص

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

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

موضوع شعبي