0Pricing
DevOps Bootcamp · درس

Terraform في مسارات CI/CD

تعرّف إلى كيفية دمج أوامر Terraform في مسارات CI/CD باستخدام أدوات شائعة مثل Jenkins وGitLab CI وGitHub Actions.

Terraform في مسارات CI/CD درس مجاني في DevOps Bootcamp على CoddyKit. هذا هو الدرس 1 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في DevOps Bootcamp، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة DevOps Bootcamp 4 دروس في المجموع.

مرحبًا بكم في CI/CD وTerraform

مرحبًا! في هذا الدرس، سنربط إمكانات Terraform بمسارات التكامل المستمر/التسليم المستمر (CI/CD).

تعمل CI/CD على أتمتة خطوات عملية تسليم البرمجيات، بدءًا من تغييرات الشيفرة ووصولًا إلى النشر. ويتمحور ذلك حول جعل عمليات النشر أسرع وأكثر أمانًا وموثوقية.

لماذا نؤتمت Terraform؟

تجلب أتمتة Terraform باستخدام CI/CD فوائد عديدة:

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

سير عمل CI/CD الأساسي في Terraform

يتضمن سير عمل Terraform المعتاد في مسار CI/CD الأوامر الرئيسية التالية:

  • terraform init: يهيئ دليل العمل وينزّل المزوّدات.
  • terraform plan: يعرض تغييرات البنية التحتية التي ستُجرى دون تطبيقها.
  • terraform apply: ينفذ التغييرات المخطط لها لإنشاء الموارد أو تحديثها أو حذفها.

ينفذ نظام CI/CD هذه الأوامر، وليس تنفيذًا يدويًا منكم!

GitHub Actions - الأساسيات

تُعد GitHub Actions أداة شائعة لـ CI/CD. وتُعرَّف مسارات العمل في ملفات YAML داخل مجلد .github/workflows/ في مستودعكم.

إليكم بنية أساسية لمسار عمل Terraform:

name: Terraform CI

on:
  push:
    branches:
      - main

jobs:
  terraform:
    runs-on: ubuntu-latest
    steps:
      - name: Checkout code
        uses: actions/checkout@v4
      # Terraform steps will go here

GHA: تهيئة Terraform

تتمثل الخطوة الحاسمة الأولى دائمًا في تنفيذ terraform init. يجهز هذا الأمر دليل العمل من خلال تنزيل إضافات المزوّدات اللازمة وإعداد الواجهة الخلفية لإدارة الحالة.

من الضروري تشغيله قبل أي أمر آخر من أوامر Terraform في مهمة مسار العمل.

      - name: Terraform Init
        id: init
        run: terraform init

GHA: تخطيط تغييرات Terraform

بعد التهيئة، نشغّل terraform plan. يقارن هذا الأمر إعداد Terraform الحالي بالحالة الفعلية لبنيتكم التحتية وملف الحالة البعيد.

ينشئ الأمر خطة تنفيذ توضّح بدقة الإجراءات التي سيتخذها Terraform (مثل الإنشاء والتحديث والإتلاف) دون إجراء أي تغييرات فعلية. وهذا أمر بالغ الأهمية للمراجعة!

      - name: Terraform Plan
        id: plan
        run: terraform plan -no-color

GHA: تطبيق التغييرات بصورة مشروطة

ينفذ الأمر terraform apply التغييرات الموضحة في الخطة. وفي CI/CD، تكون هذه الخطوة مشروطة في معظم الحالات.

فقد تُشغّل مثلًا عند دمج التغييرات في فرع main، أو بعد خطوة موافقة يدوية لضمان الإشراف البشري قبل عمليات النشر في بيئة الإنتاج.

      - name: Terraform Apply
        if: github.ref == 'refs/heads/main' && github.event_name == 'push'
        run: terraform apply -auto-approve

ما بعد GitHub Actions

رغم استخدام GitHub Actions مثالًا لنا، فإن المفاهيم الأساسية لدمج Terraform مع CI/CD تنطبق على أدوات شائعة أخرى:

  • Jenkins: عرّفوا المراحل باستخدام نصوص shell لأوامر Terraform.
  • GitLab CI/CD: استخدموا .gitlab-ci.yml لتحديد المهام والنصوص البرمجية.
  • Azure DevOps Pipelines: استخدموا مسارات عمل مبنية على YAML مع مهام Terraform مخصصة أو خطوات نصوص برمجية.

تبقى أوامر Terraform نفسها؛ ولا يتغير سوى بناء جملة تعريف مسار العمل.

أفضل ممارسات CI/CD

عند دمج Terraform مع CI/CD، ضعوا أفضل الممارسات المهمة التالية في الاعتبار:

  • الحالة البعيدة: استخدموا دائمًا واجهات خلفية للحالة البعيدة (مثل S3) لإدارة الحالة بأمان وبصورة تعاونية.
  • قفل الحالة: طبّقوا قفل الحالة لمنع عمليات التطبيق المتزامنة.
  • متغيرات البيئة: استخدموا الأسرار/المتغيرات في CI/CD للبيانات الحساسة مثل بيانات اعتماد السحابة.
  • فصل البيئات: أداروا بيئات التطوير والاختبار المرحلي والإنتاج باستخدام إعدادات منفصلة أو Terraform Workspaces.

تحقق من دمج مسار العمل

ما الفوائد الرئيسية لدمج Terraform مع مسار CI/CD؟

مراجعة: Terraform في CI/CD

لقد تعلّمتم كيفية دمج Terraform مع مسارات CI/CD! وقد تناولنا ما يلي:

  • الفوائد المهمة لأتمتة عمليات نشر Terraform.
  • أوامر سير العمل الأساسية: init وplan وapply.
  • كيفية تنفيذ هذه الخطوات باستخدام GitHub Actions كمثال.
  • أفضل الممارسات العامة لدمج Terraform مع CI/CD بطريقة موثوقة.

تجعل أتمتة عمليات نشر البنية التحتية أكثر كفاءة وموثوقية واتساقًا بين أعضاء فريقكم وبيئاتكم.

الأسئلة الشائعة

هل درس «Terraform في مسارات CI/CD» مجاني؟

نعم — نص درس «Terraform في مسارات CI/CD» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة DevOps Bootcamp، انتقل إلى CoddyKit PRO. تتضمن دورة DevOps Bootcamp 4 دروس في المجموع.

ماذا ستتعلم في «Terraform في مسارات CI/CD»؟

تعرّف إلى كيفية دمج أوامر Terraform في مسارات CI/CD باستخدام أدوات شائعة مثل Jenkins وGitLab CI وGitHub Actions. تتمرن على DevOps Bootcamp مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.

هل أحتاج إلى خبرة سابقة لأبدأ DevOps Bootcamp؟

لا تُشترط خبرة سابقة. DevOps Bootcamp على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 1 من أصل 4.

كم من الوقت يستغرق درس «Terraform في مسارات CI/CD»؟

معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.

هل يمكنني كتابة وتشغيل أكواد في درس DevOps Bootcamp هذا؟

نعم. كل درس في DevOps Bootcamp يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.

جميع الدروس في هذه الدورة

  1. Terraform في مسارات CI/CD
  2. أتمتة `plan` و`apply`
  3. إدارة بيانات الاعتماد بأمان
  4. ‏GitOps وأتمتة طلبات السحب
← العودة إلى DevOps Bootcamp