يستكشف Promptcloud إعداد تكامل Gerrit و Jenkins

نشرت: 2017-01-20
عرض جدول المحتويات
إعداد التكامل باستخدام جيريت وجينكينز
ما هو جيريت؟
ما هو جنكينز واستخداماته؟
سير العمل من أجل التكامل المستمر
1. تركيب جيريت
2. تسجيل الدخول الأولي
3. إنشاء مفتاح SSH
4. تركيب جنكينز
5. ابدأ عملية Jenkins

إعداد التكامل باستخدام جيريت وجينكينز

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

ما هو جيريت؟

Gerrit هو نظام مراجعة كود مفتوح المصدر قائم على git وله واجهة قائمة على الويب تتيح لك دفع التغييرات من عميل git ، ومراجعة التغييرات والدمج التلقائي مع الكود الرئيسي. في كل مرة يتم إجراء تغيير ، يتم إجراء مجموعات التصحيح لنفسه. يسمح جيريت بمقارنات مختلفة لمجموعة التصحيح. كما أن لديها خيار إضافة ملاحظات أو مراجعة سطور معينة ، أو على التصحيح بأكمله. يمكن للمراجعين تقييم التغييرات بواحد مما يلي: +2 - يبدو جيدًا بالنسبة لي ، موافق عليه. +1 - يبدو جيدًا بالنسبة لي ، لكن يجب أن يوافق عليه شخص آخر. 0 - لا توجد نقاط. -1 - أفضل عدم إرسال هذا. -2 - منع الإرسال. تشير المراجعة +2 إلى أنه يمكن إرسال الكود إلى المعلم افتراضيًا. يمكن تكوين هذا على النحو المطلوب.

ما هو جنكينز واستخداماته؟

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

سير العمل من أجل التكامل المستمر

  1. مطور يتحقق من المصدر من Git
  2. المطور يقوم بالتغييرات المطلوبة
  3. المطور يدفع التغييرات إلى جيريت
  4. يرسل جيريت إشعار التغيير إلى جينكينز لاختبار التكامل
  5. تقوم Jenkins بسحب التغييرات مباشرة من خادم Gerrit git وتشغيل جميع حالات الاختبار وفقًا لتكوين مشروعنا
  6. يقوم المطورون الآخرون بمراجعة التغييرات والموافقة عليها (+2)
  7. يدمج Gerrit التغييرات في مستودع git الرئيسي للمشروع عند اجتياز Jenkins للبناء والموافقة على التغييرات من قبل مطورين آخرين

إعداد التكامل باستخدام سير عمل جيريت وجينكينز 1. تركيب جيريت

  • المتطلبات: JRE ، الإصدار 1.8 على الأقل.
  • رابط لتحميل حزمة حرب تي جيريت

إذا كان لديك MySQL ، فيمكنك استخدامه لقاعدة بيانات Gerrit. قم بإنشاء مستخدمين وقواعد بيانات في MySQL لـ Gerrit.

mysql> إنشاء مستخدم 'gerrit2' @ 'localhost' تم تحديده بواسطة 'secret' ؛

mysql> إنشاء قاعدة بيانات reviewdb؛

mysql> منح الكل في reviewdb. * TO 'gerrit2' @ 'localhost'؛

mysql> امتيازات التنظيف ؛

الآن قم بتشغيل الأمر أدناه لتهيئة الموقع.

 # java -jar gerrit.war init –batch -d ~ /

أثناء هذه التهيئة ، تبدأ خدمة gerrit افتراضيًا. إذا كنت تريد إجراء أي تغييرات ، مثل قاعدة بيانات mysql ، ومصادقة تسجيل الدخول ، وإرسال خادم البريد الإلكتروني وعنوان url httpd ، فيمكنك تحرير ملف ~ // etc / gerrit.config وإضافة تفاصيل كلمة مرور قاعدة البيانات و ldap في ~ // etc / secure ملف .config . إذا تم إجراء أي تغييرات على الإعدادات ، فيجب إعادة تشغيل خدمة gerrit قبل أن تصبح سارية المفعول.

 # ~ // إعادة تشغيل bin / gerrit.sh

انسخ البرنامج النصي ~ // bin / gerrit.sh إلى init.d dir مثل gerrit وأضفه للبدء أثناء تمهيد الجهاز.

2. تسجيل الدخول الأولي

الآن قم بتحميل Gerrit URL الخاص بك في المتصفح. يمكنك العثور على عنوان URL الخاص بشبكة Gerrit باستخدام هذا الأمر أيضًا.

# git config -f ~ // etc / gerrit.config gerrit.canonicalWebUrl

الآن استخدم مصادقة تسجيل الدخول باستخدام الطريقة التي قمت بتكوينها في ملف تكوين Gerrit لتسجيل الدخول إلى واجهة ويب Gerrit. بشكل افتراضي ، يكون OpenID. يعد LDAP أحد أكثر طرق المصادقة استخدامًا.

بمجرد تسجيل الدخول بنجاح إلى صفحة ويب Gerrit ، يجب عليك تسجيل الدخول إلى جهاز العميل الخاص بك حيث ستقوم بالتطوير. يجب عليك إنشاء مفاتيح RSA لجلسات ssh الخاصة بك. يمكنك تخطي خطوة إنشاء المفتاح إذا كان لديك بالفعل الملفات.

# ls -l ~ / .ssh

Author_keys config id_rsa id_rsa.pub known_hosts

3. إنشاء مفتاح SSH

# ssh-keygen -t rsa

إنشاء زوج مفاتيح rsa عام / خاص.

أدخل الملف الذي تريد حفظ المفتاح فيه (/ home/user/.ssh/id_rsa):

أدخل عبارة المرور (فارغة بدون عبارة مرور):

أدخل نفس عبارة المرور مرة أخرى:

تم حفظ هويتك في /home/user/.ssh/id_rsa.

تم حفظ مفتاحك العمومي في /home/user/.ssh/id_rsa.pub.

بصمة المفتاح هي:

SHA256: dMMVqsoLDf8T / d5Niob69oea3rkSLTBltiZ8s1lbdeA user @ localhost

الصورة العشوائية للمفتاح هي:

+ - [RSA 2048] —- +

| س ... |

| . + o. س |

| .. + =. هـ .. |

| . = س = ... |

| . SB * o |

| = .. * س |

| . =. =. . |

| . ا. + o ++. + |

| . س * = * بوو. |

+ —- [SHA256] —– +

# قطة ~ / .ssh / id_rsa.pub

ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCwoWTT6S1pv2LP0l6r8305njSLtoupDCw8Df
GnaqW + ppfzNMtRJmAvCQpYuvE154EsGZC5csnRkUYAScOD3nri8NBsXMdD + m1mMyD
lA4ssMLhWHfstJGQ5aJ84NIR + zFK9o9QmDCVYU /
MYt2SZnmzi + Pdd4QbDWKisewmtun5rpy8vXWukKt9CHGTbv5lKyRVPF
LuQCynKbniZLV7aQD6gsVcZFG7Hj3ezBhDAZdBrCWLldy0S61DAmdH5C94xmlSuraq
HiX0pkLi4J67msvOUW6dBfeCP1VsMNz0j /
91LPlOMf5I2r1fRw1s / J1z /
UcsgBDyATwSKocNklkrd8 + pp user @ localhost

  • انسخ المفتاح العام أعلاه وانتقل إلى عنوان URL الخاص بشبكة gerrit
  • تحقق من اسم المستخدم في الزاوية اليمنى من صفحة الويب وانقر على المستخدم الخاص بك للعثور على رابط الإعدادات
  • في الجانب الأيسر ، يمكنك العثور على "مفاتيح SSH العمومية" ، والنقر عليها
  • الآن انقر فوق الزر "إضافة مفتاح" ، والصق مفتاح ssh العمومي وأضفه

إعداد التكامل باستخدام Gerrit و Jenkins SSH Key Generator سيتم وضع المستخدم الأول الذي قام بتسجيل الدخول وتسجيل حساب ما تلقائيًا في المسؤولين ذوي الامتيازات الكاملة. الآن لديك امتيازات لإنشاء المشاريع. انقر فوق علامة التبويب "المشاريع" وانقر فوق "إنشاء مشاريع جديدة". الآن أدخل اسم المشروع للبدء. إعداد CI ها أنت ذا ، انسخ المشروع في نظامك وابدأ في إضافة رموز التطوير الخاصة بك. # ssh [email protected] -p 29418

**** مرحبًا بك في Gerrit Code Review **** مرحبًا سيلفام ، لقد نجحت في الاتصال عبر SSH. لسوء الحظ ، تم تعطيل الأصداف التفاعلية. لاستنساخ مستودع Git مستضاف ، استخدم: git clone ssh: //[email protected]: 29418 / REPOSITORY_NAME.git الاتصال بـ 192.168.56.137 مغلق.

# git clone ssh: //[email protected] : 29418 / Gerrit_Test

4. تركيب جنكينز

يمكنك تثبيت jenkins باستخدام apt-get أو deb package.

  • sudo apt-get update
  • sudo apt-get install jenkins

يوجد تكوين Jenkins في / etc / default / jenkins ، حيث يمكنك تغيير موقع java و JAVA_ARGS. بشكل افتراضي ، يعمل برنامج jenkins على 8080. إذا كنت تقوم بتشغيل gerrit and jenkins على نفس الجهاز ، فإن المنفذ الافتراضي 8080 مشغول بالفعل بواسطة gerrit. هنا تحتاج إلى تغيير منفذ جينكينز. لتغييره ، قم بتحرير قيمة HTTP_PORT للتشغيل على منفذ مختلف.

5. ابدأ عملية Jenkins

# /etc/init.d/jenkins ابدأ انتقل إلى متصفحك وقم بتحميل صفحة jenkins باسم مضيف jenkins ورقم المنفذ.

 https: //: /

إذا قمت بتثبيت Jenkins 2. * ، فستطلب صفحة ويب jenkins كلمة المرور الأولية لـ Admin. يمكنك العثور على كلمة المرور في ملف /var/log/jenkins/jenkins.log. السجل يبدو كما يلي:

الإعداد الأولي لـ Jenkins مطلوب. تم إنشاء مستخدم إداري وإنشاء كلمة مرور. الرجاء استخدام كلمة المرور التالية لمتابعة التثبيت: f16b093akcnml397jcdoa239d6bafb9 يمكن العثور عليها أيضًا في: / var / lib / jenkins / secrets / initialAdminPassword
  • انتقل الآن إلى Jenkins -> Manage Jenkins -> Plugin Manager لتثبيت المكون الإضافي git و gerrit في jenkins
  • انقر فوق علامة التبويب "متاح" وابحث عن " Git Plugin " وانقر فوق "تثبيت بدون إعادة تشغيل". ابحث مرة أخرى عن " Gerrit Trigger" وانقر على "تثبيت بدون إعادة تشغيل". أخيرًا ، تحقق مما إذا كان موجودًا في القائمة المثبتة.

إعداد التكامل باستخدام البرنامج المساعد جيريت وجينكينز يتم تشغيل عملية Jenkins بواسطة مستخدم jenkins. لذلك ، نحن بحاجة إلى تمكين الوصول لمستخدم جينكينز في جيريت.

  • باستخدام طريقة المصادقة الخاصة بك ، قم بإنشاء مستخدم jenkins في gerrit
  • الآن قم بإنشاء ssh-keygen لمستخدم jenkins كما فعلنا سابقًا. ولكن هذه المرة ، قم بإنشاء المفتاح باستخدام passpharse فارغًا وانسخ المفتاح العام لمستخدم jenkins في gerrit
  • انقر الآن على "عنصر جديد" لإنشاء وظيفة جديدة وإضافة عنوان url الخاص بـ git في قسم إدارة رمز المصدر / Git. أيضًا ، اختر "حدث Gerrit" في Build Triggers وأدخل نمط مشروع Gerrit.

إعداد التكامل باستخدام حدث Gerrit و Jenkinsحدث تكامل CI أخيرًا ، احفظ التكوين. ممتاز ، اكتمل إعداد Gerrit و Jenkins الآن.