ديف أوبس

تثبيت Concourse CI على أوبنتو

التكامل المستمر: تثبيت Concourse CI على أوبنتو

مقدمة

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

ما هو Concourse CI؟

Concourse CI هو نظام مفتوح المصدر لأتمتة عمليات التكامل المستمر والتسليم المستمر. يُصمم بشكل خاص لتقديم بنية تتيح للفرق تطوير البرمجيات بنجاح عبر قنوات متعددة من خلال أتمتة الاختبارات، بناء الكود، وعمليات النشر. يعتبر Concourse CI أحد أنظمة CI الأكثر تطورًا بفضل آلية العمل التي تعتمد على “التدفقات” (Pipelines)، والتي توفر تنسيقًا مرنًا لتنفيذ المهام وفقًا لاحتياجات المشروع.

المزايا الرئيسية لاستخدام Concourse CI

  1. بنية قابلة للتوسيع: يسمح Concourse بتوسيع البنية من خلال العناصر (resources) و الوظائف (tasks) القابلة للتخصيص.

  2. الشفافية والتتبع: يوفر Concourse واجهة رسومية تفاعلية تسمح للمطورين بمراقبة حالة الأنابيب (Pipelines) والتدفقات.

  3. المرونة: يتمتع بمرونة كبيرة من خلال إمكانية تكييف الأدوات لتلبية احتياجات كل مشروع.

  4. التوافق مع الأدوات الأخرى: يمكن دمج Concourse مع مجموعة من الأدوات مثل GitHub، Docker، Kubernetes، وغيرها.

المتطلبات الأساسية لتثبيت Concourse CI على أوبنتو

قبل البدء بتثبيت Concourse CI على توزيعة أوبنتو، هناك بعض المتطلبات الأساسية التي يجب التأكد منها:

  • Ubuntu 20.04 LTS أو أحدث: لضمان التوافق الكامل مع النظام.

  • Docker: يجب أن يكون Docker مثبتًا على النظام لأنه يستخدم كخدمة أساسية لتشغيل الحاويات (containers) الخاصة بـ Concourse.

  • قدرة على الوصول إلى الإنترنت: لتنزيل الحزم والمكونات المطلوبة.

الخطوات الأساسية لتثبيت Concourse CI على أوبنتو

1. تحديث النظام

أولًا، يجب تحديث النظام لضمان أنه يحتوي على أحدث التحديثات والحزم المتاحة. افتح الطرفية (Terminal) وقم بتشغيل الأمر التالي:

bash
sudo apt update && sudo apt upgrade -y

2. تثبيت Docker

Concourse CI يعتمد بشكل أساسي على Docker لإدارة الحاويات. لذلك، من الضروري تثبيت Docker على أوبنتو. قم بتشغيل الأوامر التالية لتثبيت Docker:

bash
sudo apt install -y docker.io

بعد تثبيت Docker، تحقق من تشغيل الخدمة باستخدام الأمر:

bash
sudo systemctl start docker

يمكنك التأكد من أن Docker يعمل بشكل صحيح باستخدام الأمر:

bash
sudo systemctl status docker

3. تثبيت Concourse CI

يتم تثبيت Concourse CI من خلال تحميل الصور الخاصة به عبر Docker. سنقوم بتحميل وتشغيل صورة Concourse باستخدام الحاويات.

أولاً، نحتاج إلى تحميل صورة Concourse CI الرسمية عبر Docker. يمكنك تنفيذ الأمر التالي:

bash
sudo docker pull concourse/concourse

4. تشغيل Concourse CI باستخدام Docker

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

bash
sudo docker run -d --name concourse -p 8080:8080 \ -e CONCOURSE_BASIC_AUTH_USERNAME=test \ -e CONCOURSE_BASIC_AUTH_PASSWORD=test123 \ concourse/concourse
  • -d: تشغيل الحاوية في الخلفية.

  • --name concourse: تعيين اسم للحاوية.

  • -p 8080:8080: ربط المنفذ 8080 داخل الحاوية مع المنفذ 8080 على النظام المضيف.

  • -e CONCOURSE_BASIC_AUTH_USERNAME=test -e CONCOURSE_BASIC_AUTH_PASSWORD=test123: تعيين اسم المستخدم وكلمة المرور لتسجيل الدخول إلى واجهة Concourse.

5. الوصول إلى واجهة Concourse CI

بعد تشغيل الحاوية بنجاح، يمكنك الوصول إلى واجهة Concourse CI عبر المتصفح. افتح متصفح الإنترنت وادخل العنوان التالي:

arduino
http://localhost:8080

سيطلب منك إدخال اسم المستخدم وكلمة المرور اللذين قمت بتحديدهما في الخطوة السابقة (test و test123).

6. إعداد الأنابيب (Pipelines)

بمجرد الوصول إلى واجهة Concourse، يمكنك البدء في إنشاء الأنابيب (Pipelines). الأنابيب هي عبارة عن مجموعة من الخطوات التي تحدد كيف يجب على النظام بناء وتوزيع البرمجيات. يمكن إعداد الأنابيب باستخدام واجهة المستخدم الرسومية أو عبر ملفات YAML.

لنقوم بإنشاء أنبوب بسيط، يمكن استخدام ملف YAML لتحديد الوظائف (tasks) والمصادر (resources) الخاصة بك. مثال على ملف Pipeline بسيط:

yaml
resources: - name: git-repo type: git source: uri: https://github.com/username/repository.git jobs: - name: build plan: - get: git-repo - task: build-task config: platform: linux image_resource: type: docker-image source: {repository: "golang", tag: "latest"} run: path: go args: ["build"]

7. إضافة وتشغيل الأنابيب

يمكنك إضافة الأنابيب باستخدام الأوامر التالية عبر fly, وهي الأداة المساعدة لإدارة الأنابيب في Concourse.

أولًا، قم بتحميل أداة fly عبر الرابط التالي:

bash
wget https://github.com/concourse/concourse/releases/download/v7.4.0/fly-7.4.0-linux-amd64 chmod +x fly-7.4.0-linux-amd64 sudo mv fly-7.4.0-linux-amd64 /usr/local/bin/fly

بعد ذلك، قم بتسجيل الدخول إلى خادم Concourse باستخدام:

bash
fly -t tutorial login -c http://localhost:8080 -u test -p test123

ثم قم بإنشاء الأنابيب باستخدام الأمر:

bash
fly -t tutorial set-pipeline -p my-pipeline -c pipeline.yml

8. مراقبة الأنابيب

بمجرد إعداد الأنابيب، يمكنك مراقبة حالتها عبر واجهة المستخدم الرسومية أو باستخدام أداة fly من خلال الأمر:

bash
fly -t tutorial pipelines

إدارة Concourse CI

تتضمن إدارة Concourse CI عدة مهام أساسية مثل:

  • إدارة الأنابيب: يمكنك إضافة أو تعديل أو حذف الأنابيب باستخدام أداة fly.

  • إدارة الحاويات: يمكنك إدارة الحاويات عبر Docker، مثل إيقاف وتشغيل الحاويات.

  • مراقبة الأداء: توفر Concourse CI أدوات لمراقبة الأداء والتحقق من حالة الأنابيب بشكل مستمر.

الخاتمة

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