بناء صور Docker باستخدام Actions
أتمتوا عملية بناء صور Docker لتطبيقاتكم مباشرةً ضمن سير عمل GitHub Actions.
بناء صور Docker باستخدام Actions درس مجاني في CI/CD with GitHub Actions & DevOps Pipelines على CoddyKit. هذا هو الدرس 1 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في CI/CD with GitHub Actions & DevOps Pipelines، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة CI/CD with GitHub Actions & DevOps Pipelines 4 دروس في المجموع.
ما هي صور Docker؟
مرحبًا! في هذا الدرس، ستتعلمون إنشاء صور Docker باستخدام GitHub Actions.
أولًا، ما هي صورة Docker؟ تخيلوها كحزمة خفيفة ومستقلة وقابلة للتنفيذ، تتضمن كل ما يلزم لتشغيل جزء من البرنامج:
- التعليمات البرمجية الخاصة بكم
- بيئة تشغيل، مثل Java أو Python
- أدوات النظام ومكتبته
- ملفات الإعداد
إنها أشبه بمخطط لإنشاء حاويات Docker، مما يضمن تشغيل تطبيقكم باستمرار عبر بيئات مختلفة.
لماذا نؤتمت عمليات إنشاء صور Docker؟
قد يكون إنشاء صور Docker يدويًا متكررًا وعرضة للأخطاء. وهنا تأتي فائدة الأتمتة!
من خلال دمج عمليات إنشاء صور Docker في خط أنابيب CI/CD باستخدام GitHub Actions، ستحصلون على ما يلي:
- الاتساق: تتبع كل عملية إنشاء الخطوات نفسها.
- السرعة: عمليات الإنشاء التلقائية أسرع من اليدوية.
- الموثوقية: تقليل الأخطاء البشرية.
- التكامل: بدء عمليات الإنشاء تلقائيًا عند تغيّر التعليمات البرمجية.
وهذه ممارسة أساسية في DevOps الحديثة!
مخطط Dockerfile
إن Dockerfile ملف نصي يحتوي على جميع الأوامر اللازمة لتجميع صورة Docker. إنه أشبه بوصفة.
إليكم مثالًا بسيطًا جدًا على Dockerfile:
FROM alpine:latest
WORKDIR /app
COPY . .
CMD ["echo", "Hello from Docker!"]فهم Dockerfile
لنحلّل ملف Dockerfile البسيط هذا:
FROM alpine:latest: يحدد الصورة الأساسية. نبدأ بتوزيعة Linux صغيرة تُسمى Alpine.WORKDIR /app: يعيّن دليل العمل داخل الصورة.COPY . .: ينسخ جميع الملفات من دليل المشروع إلى الدليل/appداخل الصورة.CMD ["echo", "Hello from Docker!"]: هذا هو الأمر الذي سيُشغّل عند بدء تشغيل حاوية من هذه الصورة.
يوجد هذا الملف في جذر مشروعكم.
إعداد سير العمل
لإنشاء صور Docker باستخدام GitHub Actions، ستنشئون ملف YAML، مثل .github/workflows/docker-build.yml، في مستودعكم.
يحدد هذا الملف سير العمل، وهو سلسلة من الخطوات التلقائية.
يتضمن سير العمل الأساسي لإنشاء صورة عادةً ما يلي:
- سحب التعليمات البرمجية الخاصة بكم.
- إعداد بيئة إنشاء Docker.
- إنشاء صورة Docker.
الخطوة 1: الحصول على التعليمات البرمجية
تتمثل الخطوة الأولى في معظم عمليات سير عمل GitHub Actions في الحصول على التعليمات البرمجية الخاصة بمستودعكم. ويتم ذلك باستخدام الإجراء actions/checkout.
يستنسخ هذا الإجراء مستودعكم إلى المنفّذ، مما يجعل Dockerfile والتعليمات البرمجية للتطبيق متاحين لعملية الإنشاء.
إليكم الشكل الذي ستظهر به هذه الخطوة في ملف سير العمل:
- name: Checkout repository code
uses: actions/checkout@v4الخطوة 2: إعداد Docker Buildx
بعد ذلك، نحتاج إلى إعداد بيئة إنشاء Docker. ويوصى بشدة باستخدام docker/setup-buildx-action.
Buildx مكوّن في Docker يوسّع إمكانات إنشاء Docker، ويدعم ميزات متقدمة مثل الإنشاء لمنصات متعددة.
أضيفوا هذه الخطوة إلى سير العمل:
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3الخطوة 3: إنشاء صورة Docker
والآن نصل إلى المهمة الأساسية: إنشاء الصورة! نستخدم لهذا الغرض docker/build-push-action.
الخيارات الأساسية:
context: .: يحدد سياق الإنشاء، وعادةً ما يكون جذر المستودع.push: false: سننشئ الصورة حاليًا من دون دفعها إلى سجل. وسنتناول عملية الدفع في درس لاحق.tags: my-app:latest: يعيّن اسمًا ووسمًا للصورة.
- name: Build and tag Docker image
uses: docker/build-push-action@v5
with:
context: .
push: false
tags: my-app:latestمثال كامل على سير عمل الإنشاء
إليكم سير عمل GitHub Actions كاملًا لإنشاء صورة Docker. تذكّروا أن ملف YAML هذا يُوضع في .github/workflows/docker-build.yml.
سيُشغّل سير العمل هذا عند كل عملية push إلى مستودعكم.
name: Build Simple Docker Image
on: [push]
jobs:
build-image:
runs-on: ubuntu-latest
steps:
- name: Checkout repository code
uses: actions/checkout@v4
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
- name: Build and tag Docker image
uses: docker/build-push-action@v5
with:
context: .
push: false
tags: my-app:latestتحقق سريع
لنختبر مدى فهمكم لإنشاء صور Docker باستخدام GitHub Actions.
مراجعة: إنشاء صور Docker
أحسنتم! لقد تعلمتم أساسيات أتمتة إنشاء صور Docker باستخدام GitHub Actions.
لقد تناولنا ما يلي:
- ما هي صور Docker ولماذا تُعد مهمة.
- دور
Dockerfileبوصفه مخطط الصورة. - إعداد سير عمل أساسي في GitHub Actions.
- استخدام إجراءات أساسية مثل
actions/checkoutوdocker/setup-buildx-actionوdocker/build-push-action.
في الدرس التالي، سنستكشف كيفية دفع هذه الصور المُنشأة إلى سجل حاويات!
الأسئلة الشائعة
هل درس «بناء صور Docker باستخدام Actions» مجاني؟
نعم — نص درس «بناء صور Docker باستخدام Actions» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة CI/CD with GitHub Actions & DevOps Pipelines، انتقل إلى CoddyKit PRO. تتضمن دورة CI/CD with GitHub Actions & DevOps Pipelines 4 دروس في المجموع.
ماذا ستتعلم في «بناء صور Docker باستخدام Actions»؟
أتمتوا عملية بناء صور Docker لتطبيقاتكم مباشرةً ضمن سير عمل GitHub Actions. تتمرن على CI/CD with GitHub Actions & DevOps Pipelines مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.
هل أحتاج إلى خبرة سابقة لأبدأ CI/CD with GitHub Actions & DevOps Pipelines؟
لا تُشترط خبرة سابقة. CI/CD with GitHub Actions & DevOps Pipelines على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 1 من أصل 4.
كم من الوقت يستغرق درس «بناء صور Docker باستخدام Actions»؟
معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.
هل يمكنني كتابة وتشغيل أكواد في درس CI/CD with GitHub Actions & DevOps Pipelines هذا؟
نعم. كل درس في CI/CD with GitHub Actions & DevOps Pipelines يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.
جميع الدروس في هذه الدورة
- بناء صور Docker باستخدام Actions
- دفع الصور إلى السجلات
- النشر في Kubernetes باستخدام Actions
- مخططات Helm وملفات Kubernetes التعريفية في CI/CD