كيفية إنشاء أول خط أنابيب Jenkins الخاص بك؟

دليل خطوة بخطوة لإنشاء خط أنابيب Jenkins


لماذا خط جنكينز?

يعد التسليم المستمر (CD) جزءًا أساسيًا من دورة حياة DevOps.

تأكد من أن مطوري البرامج / التطبيقات الذين يقومون بإنشائهم جاهزون دائمًا للإنتاج. ولكي يحدث هذا ، كلما تم تحديث الرمز ، يجب بناؤه واختباره ونشره باستمرار. هذا هو المكان الذي يأتي فيه خط Jenkins Pipeline في الصورة.

في DevOps ، يتم تحقيق التكامل المستمر والتسليم المستمر (CI / CD) من خلال خط أنابيب Jenkins. يساعد استخدام Jenkins Pipeline للقرص المضغوط على توصيل البرنامج بإصدارات أسرع ومتكررة. يساعد هذا على دمج الملاحظات في كل إصدار تالي.

ما هو خط أنابيب جنكينز?

Jenkins Pipeline هو مزيج من الوظائف لتقديم البرامج بشكل مستمر باستخدام Jenkins.

أفترض أنك تعرف ما هو جينكينز. إن لم يكن ثم تحقق من هذا بالطبع Udemy لإتقان جينكينز.

يتكون خط أنابيب Jenkins من عدة حالات أو مراحل ، ويتم تنفيذه في تسلسل واحد تلو الآخر. JenkinsFile هو ملف نصي بسيط يُستخدم لإنشاء خط أنابيب كرمز في Jenkins. أنه يحتوي على رمز في لغة Groovy المجال الخاصة (DSL) ، وهي سهلة الكتابة وقابلة للقراءة البشرية.

إما يمكنك تشغيل JenkinsFile بشكل منفصل ، أو يمكنك تشغيل رمز خط الأنابيب من Jenkins Web UI أيضًا. هناك طريقتان يمكنك من خلالهما إنشاء خط أنابيب باستخدام Jenkins.

  • إعلاني – طريقة جديدة لإنشاء خط Jenkins Pipeline. هنا تكتب رمزًا رائعًا يحتوي على كتل “خط الأنابيب” ، والتي يتم فحصها في SCM (إدارة رمز المصدر)
  • مكتوب – طريقة لكتابة كود رائع حيث يتم تعريف الكود داخل كتل “العقدة”.

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

إنشاء خط أنابيب جنكينز

هذه هي الطريقة التي يبدو بها تدفق خط أنابيب Jenkins ، والذي يتكون من مراحل متعددة بين المطورين الذين يقومون بإنشاء برنامج (ترميز) وبرنامج يتم تسليمه عند الإنتاج.

خط جنكينز

لنقم بإنشاء خط أنابيب إعلاني.

في لوحة تحكم Jenkins ، انقر فوق عنصر جديد. ثم أدخل اسم العنصر ، على سبيل المثال ، “خط الأنابيب الأول” وحدد مشروع “خط الأنابيب”. ثم انقر فوق “موافق”.

عنصر جديد - خط جنكينز

انقر فوق علامة التبويب Pipeline كما هو موضح في الصورة أدناه ، ثم ضع كود JenkinsFile (رمز Groovy) هنا.

كود جنكينز

خط انابيب {
وكيل أي
المراحل {
المرحلة (“البناء”) {
الخطوات {
صدى “مرحبًا ، GeekFlare. البدء في إنشاء التطبيق “.
}}
}}
المرحلة (“الاختبار”) {
الخطوات {
الإدخال (“هل تريد المتابعة؟”)
}}
}}
المرحلة (“النشر”) {
موازى {
المرحلة (“بدء النشر”) {
الخطوات {
صدى صوت "ابدأ النشر .."
}}
}}
المرحلة (“النشر الآن”) {
وكيل {
عامل ميناء
reodeNode صحيح
صورة “nginx”
}}
}}

الخطوات {
صدى صوت "تم إنشاء عامل الميناء"
}}
}}
}}
}}
المرحلة (“Prod”) {
الخطوات {
صدى صوت "التطبيق جاهز Prod"
}}

}}
}}
}}

اسمحوا لي أن أشرح الكتل أعلاه.

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

كود Groovy أعلاه ، أستخدمه لملف JenkinsFile. يتم تعيين أي عامل متاح لخط الأنابيب. ثم أقوم بتحديد مرحلة البناء وأقوم بخطوة صدى بسيطة. ثم حددت مرحلة الاختبار حيث تسأل الخطوة عما إذا كنت تريد المتابعة أم لا. بعد ذلك ، قمت بإنشاء مرحلة النشر ، والتي تحتوي على مرحلتين إضافيتين تعملان بالتوازي. تتضمن مرحلة بدء النشر خطوة باستخدام أمر الصدى ، ولدى النشر الآن خطوة تسحب صورة عامل إرساء لـ Nginx على العقدة. أخيرًا ، هناك مرحلة Prod بخطوة صدى بسيطة.

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

بمجرد الحصول على الرمز في علامة التبويب Pipeline ، انقر فوق تطبيق وحفظ. أخيرًا ، انقر فوق Build Now لبدء بناء خط أنابيب Jenkins الذي أنشأته للتو.

ابني الآن

هذه هي الطريقة التي ستبدو بها واجهة المستخدم عند تشغيل خط الأنابيب. إذا اتبعت جميع الخطوات بشكل صحيح ، فسيكون بناءك ناجحًا ، ويظهر لونًا أزرق للبنية (# 27). إذا كانت هناك أخطاء في البناء ، فسوف يعطي اللون الأحمر للبناء (# 27).

بناء جنكينز 27

الآن انقر فوق # 27 build ثم انقر فوق وحدة التحكم للإخراج للتحقق مما حدث بالضبط في النهاية الخلفية عند تشغيله.

جنكينز بيلد

هكذا ستبدو النتيجة منتهية برسالة نجاح.

إخراج وحدة التحكم الناجحة

حيث بدأ المستخدم geekflare
يعمل في مستوى المتانة: MAX_SURVIVABILITY
[خط الأنابيب] بداية خط الأنابيب
عقدة [خط الأنابيب]
يعمل على Jenkins في / var / lib / jenkins / workspace / First Pipeline
[خط انابيب] {
مرحلة [خط الأنابيب]
[خط الأنابيب] {(بناء)
[خط الأنابيب] صدى
مرحبًا GeekFlare. البدء في إنشاء التطبيق.
[خط انابيب] }
[خط الأنابيب] // المرحلة
مرحلة [خط الأنابيب]
[خط الأنابيب] {(اختبار)
إدخال [خط الأنابيب]
هل تريد المتابعة?
متابعة أو إحباط
وافق عليها geekflare
[خط انابيب] }
[خط الأنابيب] // المرحلة
مرحلة [خط الأنابيب]
[خط الأنابيب] {(نشر)
[خط الأنابيب] مواز
[خط الأنابيب] {(الفرع: بدء النشر)
[خط الأنابيب] {(الفرع: النشر الآن)
مرحلة [خط الأنابيب]
[خط الأنابيب] {(بدء النشر)
مرحلة [خط الأنابيب]
[خط الأنابيب] {(يتم النشر الآن)
[خط الأنابيب] getContext
[خط الأنابيب] isUnix
[خط الأنابيب] الشيخ
[خط الأنابيب] صدى
ابدأ النشر ..
[خط انابيب] }
+ تفتيش عامل الميناء nginx
[خط الأنابيب] // المرحلة
[خط انابيب] }

خطأ: لا يوجد مثل هذا الكائن: nginx
[خط الأنابيب] isUnix
[خط الأنابيب] الشيخ
+ عامل الميناء سحب nginx
باستخدام العلامة الافتراضية: الأحدث
الأحدث: الانسحاب من المكتبة / nginx
8d691f585fa8: سحب طبقة fs
5b07f4e08ad0: سحب طبقة fs
abc291867bca: سحب طبقة fs
abc291867bca: التحقق من المجموع الاختباري
abc291867bca: اكتمل التنزيل
5b07f4e08ad0: التحقق من المجموع الاختباري
5b07f4e08ad0: اكتمل التنزيل
8d691f585fa8: التحقق من المجموع الاختباري
8d691f585fa8: اكتمل التنزيل
8d691f585fa8: سحب كامل
5b07f4e08ad0: اسحب بالكامل
abc291867bca: سحب كامل
الملخص: sha256: 922c815aa4df050d4df476e92daed4231f466acc8ee90e0e774951b0fd7195a4
الحالة: تم تنزيل صورة أحدث لـ nginx: الأحدث
[خط الأنابيب] withDockerContainer
لا يبدو أن جنكينز يعمل داخل حاوية
$ docker run -t -d -u 125: 131 -w "/ var / lib / jenkins / workspace / First Pipeline" -الخامس "/ var / lib / jenkins / workspace / First Pipeline: / var / lib / jenkins / workspace / First Pipeline: rw، z" -الخامس "/ var / lib / jenkins / workspace / First [البريد الإلكتروني محمي]: / var / lib / jenkins / workspace / First [البريد الإلكتروني محمي]: rw، z" -e ******** -e ******** -e ******** -e ******** -e ******** – e ******** -e ******** -e ******** -e ******** -e ******** – e ******** -e ******** -e ******** -e ******** -e ******** – e ******** -e ******** -e ******** -e ******** -e ******** – e ******** -e ******** -e ******** nginx cat
$ docker top 3141793b98f315dc90a57d810068b8eedb6f62debafb9040de06635b558f2943 -id pid ، comm
[خط انابيب] {
[خط الأنابيب] صدى
تم إنشاء عامل الميناء
[خط انابيب] }
$ docker stop – time = 1 3141793b98f315dc90a57d810068b8eedb6f62debafb9040de06635b558f2943
$ docker rm -f 3141793b98f315dc90a57d810068b8eedb6f62debafb9040de06635b558f2943
[خط الأنابيب] // withDockerContainer
[خط انابيب] }
[خط الأنابيب] // المرحلة
[خط انابيب] }
[خط الأنابيب] // موازي
[خط انابيب] }
[خط الأنابيب] // المرحلة
مرحلة [خط الأنابيب]
[خط الأنابيب] {(Prod)
[خط الأنابيب] صدى
التطبيق جاهز Prod
[خط انابيب] }
[خط الأنابيب] // المرحلة
[خط انابيب] }
[خط الأنابيب] // العقدة
[خط الأنابيب] نهاية خط الأنابيب
انتهى: النجاح

أنشأ خط Jenkins Pipeline أعلاه صورة عامل إرساء لـ Nginx. يمكنك التحقق من ذلك عن طريق تشغيل الأمر أدناه. يمكنك رؤية صورة Nockx docker مدرجة أيضًا.

[البريد الإلكتروني محمي]: ~ $ صورة عامل الميناء ls
تم إنشاء حجم صورة معرف علامة المستودع
nginx أحدث 540a289bab6c قبل أسبوعين 126 ميجابايت
httpd latest 7d85cc3b2d80 منذ شهرين 154 ميجابايت
redis latest f7302e4ab3a8 منذ 2 شهر 98.2MB
geekflare_mongodb آخر 095d17727ca0 منذ 3 أشهر 325 ميجا بايت

استنتاج

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

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me
    Like this post? Please share to your friends:
    Adblock
    detector
    map