راتب Jenkins في الهند: للمستجدين وذوي الخبرة [2022]
نشرت: 2021-01-06يتم تطوير أدوات جديدة وإصدارها في السوق كل يوم. واحد من هؤلاء هو Jenkins الذي تم إصداره في البداية في 2 فبراير 2011 وكتبه في الأصل Kohsuke Kawaguchi.
جدول المحتويات
ما هو جينكينز؟
Jenkins هي أداة تكامل مستمرة مفتوحة المصدر تسمح بالتطوير المستمر والاختبار والنشر للرموز التي تم إنشاؤها حديثًا. هو مكتوب بلغة جافا.
Jenkins هي واحدة من أفضل أدوات المطورين في السوق. عندما لم يكن Jenkins موجودًا ، كان المطورون حول العالم يبنون الكود ويلتزمون بتغييرات في الكود المصدري. سيتم سحب جميع الرموز فقط في الليل (أو خلال النهار حسب المنطقة الزمنية للمطورين). ثم تم اختبار هذا الرمز وعمل البناء الجديد كأساس للبناء التالي.
تعتبر Jenkins أداة أساسية للتعلم عندما تريد اكتساب الخبرة في Devops. مع Jenkins ، ظلت الخطوة الأولى لإجراء تغييرات على شفرة المصدر كما هي. ولكن الآن ، يمكن سحب الكود كلما تم إجراء التزام جديد. بالإضافة إلى ذلك ، يمكن أيضًا إجراء التغييرات التي تم إجراؤها على الكود المصدري بشكل مستمر. أصبح هذا ممكناً لأن خدمات الاختبار والتحقق تم إحضارها في بيئة البناء
يمكن أن تكون العملية برمتها الآن سلسة ومستمرة.
ما هو التكامل المستمر؟
بصفتك مطورًا ، يمكنك الاتصال بالرمز الذي تعمل عليه من المستودع. ستتمكن بعد ذلك من إرسال الكود إلى خادم CI في أي وقت. يتحقق هذا الخادم ويجتاز أي اختبارات قد يكون المختبِر قد أنشأها.

إذا لم يجتاز الرمز الاختبار ، فسيتم إرساله مرة أخرى إلى المطور للتحسين. هذا يحمي البناء من الانهيار.
فائدة أخرى هي أن المطور لا يضطر إلى تشغيل الاختبارات عن بعد على نظامه. قد يستغرق عدد كبير من الاختبارات وقتًا طويلاً. يؤدي تفويض هذا الاختبار إلى نظام آخر مثل خادم CI إلى زيادة كفاءة عملية إنشاء البرنامج بالكامل.
إذا ظهرت أي أخطاء في التعليمات البرمجية لم يتم حسابها في خادم CI ، فيمكن توصيلها بسهولة بين المختبِر والمطور.
الفائدة الشاملة من استخدام هذا هو أنه يمكن نشر الكود بشكل أسرع. في النهاية ، يمكن للعملاء رؤية الإصدار الأحدث مع الإصلاحات والتحسينات بسرعة أكبر من أي وقت مضى.
تشمل أدوات التكامل المستمر الأخرى:
- الخيزران
- Buildbot
- ترافيس سي
- اباتشي جامب
لماذا كانت هناك حاجة إلى جنكينز
هذا سيناريو يمكن لجميع المطورين الارتباط به: تكتب جزءًا من التعليمات البرمجية وتحفظه في مستودع التعليمات البرمجية.
المشكلة الآن هي أن الالتزامات الفعلية التي يتم إرسالها إلى المستودع ليست متسقة. هم شاذون وغير منتظمين. قد ينتشر المطورون في جميع أنحاء العالم. قد يعيش البعض في المملكة المتحدة ، والبعض الآخر في الهند ، والبعض الآخر في الولايات المتحدة ، والبعض الآخر في الفلبين. يعمل الجميع في أوقات مختلفة ولديهم كميات مختلفة من التعليمات البرمجية التي تدخل إلى مستودع التعليمات البرمجية.
هذا يؤدي إلى مشاكل في التكامل مما يؤدي إلى "تأخير في الاختبار". علاوة على ذلك ، تستمر الأخطاء في الزيادة. يؤدي هذا إلى حدوث تأخيرات في المشروع الكلي وإصدار البرنامج.
في الماضي ، كان على المطورين الانتظار حتى يتم إنشاء الكود بالكامل قبل أن يتم اختباره بحثًا عن الأخطاء. لذلك لم يكن التسليم النهائي للمشروع متأخراً فحسب ، ولم تكن هناك عملية تكرارية لإصلاح الكود. الكفاءة تقترب من الصفر.
عملية / خط أنابيب جنكينز
- في مرحلة تطوير أي مشروع برمجي ، تكتب الكود وتلتزمه بخادم Git أو أي نوع مشابه من الخوادم. عند استخدام Jenkins ، فإن خادم Jenkins هو الذي تُلزم الكود به.
- سيقوم خادم Jenkins بعد ذلك بإنشاء بناء من التعليمات البرمجية الخاصة بك. جزء من عملية البناء هذه هو تشغيل الكود من خلال الاختبارات. كنت ستفعل هذا بالفعل لكن Jenkins ستجري اختبارات خاصة بها. إذا كان لدى فريقك بعض الاختبارات الأخرى للتحقق من صحة الكود ، فيمكن تشغيلها في بيئة Jenkins أيضًا.
- إذا تم اجتياز جميع الاختبارات ، فيمكنك حينئذٍ تحرير ونشر بالإضافة إلى تسليم الكود إلى بيئة الإنتاج.
توضح الخطوات المذكورة أعلاه عملية التكامل المستمر / التسليم المستمر. الفائدة الكبيرة هي أنه يمكنك الانتقال من التطوير إلى الإنتاج بسرعة كبيرة لأن Jenkins تقوم بأتمتة العملية بأكملها.
خصائص جنكينز
بعض ميزات Jenkins التي ستواجهها أثناء العمل معها:
- Jenkins هو برنامج Java قائم بذاته. إنه جاهز للتشغيل مع حزم لأنظمة تشغيل Mac OS X و Windows و Unix
- يمكن إعداده وتكوينه بسهولة. تحتاج فقط إلى واجهة الويب الخاصة به والتي تتضمن تعليمات مضمنة وتسجيلات الأخطاء
- يمكن تمديد Jenkins عبر هندسة المكونات الإضافية. يوفر هذا إمكانيات غير محدودة لكيفية تكوين Jenkins لاحتياجات الفرد.
- يحتوي على مئات المكونات الإضافية في مركز التحديث
- يتكامل Jenkins مع كل أداة في CD و CI toolchain
- يمكنه بسهولة توزيع العمل عبر أجهزة متعددة. يسمح ذلك بإنشاء واختبارات ونشر أسرع عبر جميع الأنظمة الأساسية.
عمارة جنكينز
يمكن تقسيم بنية جينكينز المعمارية إلى مكونين (متصورين بجانب بعضهما البعض): المكون البشري ومكون جنكينز.
يتكون المكون البشري من المطورين الذين يكتبون الكود ويقدمونه إلى مستودع كود المصدر.
يأتي جينكينز الآن. يتحقق خادم CI بانتظام من المستودع ، ويسحب أي رمز جديد تم توفيره ، ويقوم بإجراء اختبارات ضده.
ثم يقوم خادم الإنشاء بإنشاء التعليمات البرمجية في ملف قابل للتنفيذ. يتم تحويل ملف Java إلى ملف JAR. في حالة فشل عملية البناء ، يتم إرسال إشعار إلى المطورين حتى يتمكنوا من تغيير التعليمات البرمجية الخاصة بهم. Maven هو مثال لخادم البناء المتاح كمكوِّن إضافي في Jenkins.
في المرحلة النهائية ، يتم تنفيذ البرامج النصية للاختبار. يمكن كتابة نصوص الاختبار هذه بالسيلينيوم وهو مكون إضافي متاح في Jenkins. ينشر Jenkins تطبيق الإنشاء على خادم الاختبار. في حالة فشل الاختبار ، يتم إرسال التعليقات مرة أخرى إلى المطورين.
إذا تم تمرير جميع المراحل المذكورة أعلاه بسلاسة ، فسيتم نشر كود / تطبيق الاختبارات على خادم الإنتاج.
قيد في جنكينز
إذا كان المطورون يكتبون أكواد بلغات متعددة (PHP ، و Java ، و HTML ، وما إلى ذلك) ، فسيتعين إنشاء وإدارة العديد من البنيات. لا توفر Jenkins هذه الميزة على خادم واحد. سنحتاج إلى بنية Jenkins الموزعة لتجاوز هذا القيد.

عمارة جنكينز ماستر-سلايف
نقطة البداية لفهم جميع طرق عمل Jenkins هي مستودع كود المصدر البعيد. قد يكون هذا هو GitHub أو أي مستودع آخر. يأتي التالي في العمارة السيد والعبد.
مصدر
يصل خادم Jenkins إلى البيئة الرئيسية التي تتفرع إلى بيئات تابعة متعددة. يتيح لك ذلك إنشاء عمليات إنشاء متعددة واختبارات وبيئات إنتاج متعددة في وقت واحد عبر الهيكل بأكمله. يمكن للمكونات التابعة إنشاء إصدارات مختلفة لأنظمة تشغيل مختلفة بينما يشرف المكون الرئيسي عليها.
يتواصل كلا المكونين مع بعضهما البعض عبر بروتوكول TCP / IP.
مصدر
مزايا وعيوب جنكينز
أولاً ، دعنا نلقي نظرة على المزايا المختلفة التي يوفرها Jenkins لأي فريق يستخدمها:
إنه يقلل من الجهد المبذول في الترميز المتكرر
يمكن تحويل موجه الأوامر إلى نقرة على زر واجهة المستخدم الرسومية عن طريق تغليف برنامج Jenkins النصي كوظيفة Jenkins.
يمكن مزامنته مع Slack
Slack هي منصة شائعة للاتصال الجماعي ويمكن مزامنتها مع Jenkins.
دعم كبير لإدارة المشروع
يتم تغليف كل نشاط بوظيفة Jenkins. لكل وظيفة ، يمكن قياس وقت الإنجاز ويمكن تحديد النجاح / الفشل باستخدام SDK أو REST API.
يأتي الدعم أيضًا في شكل مكونات إضافية. كما ذكر أعلاه ، لدى Jenkins مئات المكونات الإضافية المتاحة للتوسعة. يتضمن عدد قليل من هذه المكوِّن الإضافي Pipeline و Build-timeout و Timestamper و thinBackup وما إلى ذلك.
فقط الأفضل يذهب في بيئة الإنتاج
نظرًا للتكامل المستمر ، يتم اختبار الكود جيدًا ودمجه فقط عند اجتياز جميع الاختبارات بنجاح. هذا يضمن عدم كسر البنيات الرئيسية. هذا يمنع أي كود معطل من الوصول إلى بيئة الإنتاج. إذا تم كسر البناء الرئيسي ، فيمكن إطلاق تحذير لجميع المطورين.
زيادة تغطية التعليمات البرمجية
يتم ضمان تغطية الكود من خلال الاختبار. يتم عرض نتائج الاختبارات في خط أنابيب البناء. هذا يحافظ على شفافية عملية الاختبار لجميع أعضاء الفريق.
من حيث العيوب ، هذا هو المكان الذي تقصر فيه جينكينز. تمت الإشارة إليهم من قبل المطورين أنفسهم:
- إنها ليست قائمة على السحابة
- هناك منحنى تعليمي حاد
- تبدو واجهة المستخدم غير بديهية ، خاصة للمستخدمين الجدد
- لا يسمح لعضو الفريق برؤية الالتزامات التي قام بها عضو آخر في الفريق بسهولة. بالنسبة لمدير الإصدار ، يصبح تتبع تقدم الإصدار الإجمالي للمشروع أمرًا صعبًا.
- نظرًا لأنه مفتوح المصدر ويمكنك تخصيص قدر كبير منه بسبب المكونات الإضافية ، فقد يكون من الصعب العثور على دعم لمشاكلك الخاصة.
Acing a a Jenkins مقابلة
في حين أن ما ورد أعلاه هو نظرة عامة شاملة على جينكينز ، إلا أنه لا يكفي لإجراء المقابلات. ستحتاج إلى مزيد من المعرفة المتعمقة التي لا يمكن أن تأتي إلا من العمل باستخدام الأداة ودراسة نظرياتها. فيما يلي بعض الأسئلة المتداولة لمساعدتك في حل هذا الأخير:
ما هي الشروط المسبقة لاستخدام Jenkins؟
ستحتاج إلى: الوصول إلى مستودع إدارة الكود المصدري مثل مستودع SVN أو GIT ونص بناء يجب أن يعمل مثل برنامج نصي لإنشاء Mavens.
ماذا يعني ملف جنكينز وما بعد القسم والوكيل؟
ملف Jenkins هو الملف النصي الذي تم فحصه في التحكم بالمصادر ويحتوي على معلومات حول خط أنابيب Jenkins.
يعمل القسم اللاحق في نهاية تنفيذ خط الأنابيب ويستخدم عندما يتعين علينا أداء بعض المهام الأخرى في نهاية خط الأنابيب وإضافة بعض الإخطار.
الوكيل هو توجيه / أمر لإخبار جينكينز بتنفيذ خط الأنابيب بطريقة وترتيب معينين.
ما فائدة خطوط الأنابيب في جنكينز؟
باستخدام المكوِّن الإضافي Pipeline ، يمكن للمرء إنشاء خطوط أنابيب في Jenkins. يتم استخدام هذه لإعطاء عرض للمراحل / المهام لأداء بالتسلسل. تساعد خطوط الأنابيب الفرق في مراجعة المهام وتحريرها وتكرارها.
هذا لا يعني أنه بمجرد إنشاء خط أنابيب لا يمكن التدخل فيه. يعتبر خط الأنابيب متينًا ، مما يعني أنه يمكن أن يتوقف ويمكن للإنسان إجراء مقابلة لتوجيه تدفقه بشكل أكبر.
هل يمكننا بدء تشغيل Jenkins يدويًا؟ إذا كانت الإجابة بنعم ، فكيف؟
نعم ، يمكن فتح Jenkins يدويًا. الخطوات لذلك هي:
- انتقل إلى دليل تثبيت Jenkins من موجه سطر الأوامر
- استخدم الأمر "بدء Jenkins.exe" لبدء تشغيل Jenkins
- لإعادة التشغيل: استخدم "إعادة تشغيل Jenkins.exe" ولإيقافه "توقف Jenkins.exe"
كيف تنسخ Jenkins من خادم إلى آخر؟
- انسخ دليل Jenkins من الخادم الأول. الصقه في خوادم أخرى.
- استنساخ دليل وظيفة باسم مختلف وعمل نسخة من وظيفة موجودة
- أعد تسمية الدليل لإعادة تسمية الوظيفة الحالية
ما هو راتب مهندس جنكينز؟
في الهند ، يبلغ متوسط الراتب لمهندس الإنشاءات والإفراج عن شركة Jenkins 6،15،756 روبية هندية. يمكن لأي شخص لديه خبرة تتراوح من 1 إلى 4 سنوات أن يحصل على متوسط راتب يبلغ 4،90،857 روبية هندية. وهذا يشمل العمل الإضافي والنصائح والمكافآت.

يمكن لمهندس البناء والإفراج الذي يتمتع بخبرة من 5 إلى 9 سنوات (في منتصف المهنة) أن يحصل على راتب متوسط قدره 989000 روبية هندية. أخيرًا ، يمكن للمحترف المتمرس الذي يتمتع بخبرة تتراوح بين 10 و 19 عامًا أن يربح 13،50،000. أفادت التقارير أن بيون وبنغالور ومومباي تدفع رواتب أعلى من متوسط الرواتب.
المهارات الأكثر شيوعًا لمهندسي بناء وإطلاق Jenkins هي:
- بناء الإدارة
- إدارة الإفراج
- البرمجة النصية شل
- بيرل
- شخص سخيف
تعلم دورات تطوير البرمجيات عبر الإنترنت من أفضل الجامعات في العالم. اربح برامج PG التنفيذية أو برامج الشهادات المتقدمة أو برامج الماجستير لتتبع حياتك المهنية بشكل سريع.
تغليف
مسلحين بالمعلومات المذكورة أعلاه ، نأمل أن يكون لديك أساس متين لفهم جينكينز وحل أي مقابلة متعلقة بجينكينز. بغض النظر عن المجال ، فإن المحدد النهائي لحالتك ودفعك هو مهاراتك. لذا ، استمر في التعلم والتحسين. حظ سعيد!
إذا كنت مهتمًا بمعرفة المزيد حول البيانات الضخمة ، فتحقق من برنامج upGrad & IIIT-B Executive PG في تطوير البرامج الكامل المكدس المصمم للمهنيين العاملين ويقدم أكثر من 500 ساعة من التدريب الصارم ، وأكثر من 9 مشاريع ومهام ، IIIT -ب حالة الخريجين ، ومشاريع التخرج العملية العملية والمساعدة في العمل مع الشركات الكبرى.
