0Pricing
DevOps Bootcamp · درس

IaC باستخدام Terraform وGitHub Actions

افهموا كيفية دمج Terraform في سير عمل GitHub Actions لتوفير البنية التحتية وإدارتها.

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

البنية التحتية كرمز (IaC)

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

فكّر في الأمر على أنه كتابة برمجيات لبنيتك التحتية. ويوفر ذلك فوائد عديدة، منها الاتساق وقابلية التكرار والتحكم في الإصدارات لإعدادك بالكامل.

تعرّف على Terraform لـ IaC

يُعدّ Terraform أحد أشهر أدوات IaC، وهو أداة مفتوحة المصدر طوّرتها HashiCorp.

يتيح لك Terraform تعريف موارد البنية التحتية في ملفات إعدادات يمكن للبشر قراءتها. ثم يستخدم هذه الملفات لتوفير الموارد وإدارتها لدى موفري خدمات سحابية مختلفين، مثل AWS وAzure وGCP، وكذلك لدى خدمات أخرى.

صيغة HCL في Terraform

يستخدم Terraform لغة تعريفية خاصة به تُسمى HashiCorp Configuration Language (HCL). صُممت HCL بحيث يسهل على البشر قراءتها وكتابتها، مما يجعل تعريفات بنيتك التحتية واضحة.

إليك مثالًا صغيرًا بلغة HCL يعرّف VPC في AWS، أي سحابة خاصة افتراضية:

resource "aws_vpc" "main" {
  cidr_block = "10.0.0.0/16"
  tags = {
    Name = "my-vpc"
  }
}

سير العمل الأساسي في Terraform

يتبع Terraform سير عمل متسقًا من ثلاث خطوات لإدارة بنيتك التحتية:

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

الأتمتة باستخدام GitHub Actions

يمنح دمج Terraform مع GitHub Actions استراتيجية IaC لديك قوة كبيرة، إذ يتيح لك أتمتة الخطوات المهمة في مسار نشر بنيتك التحتية.

باستخدام GitHub Actions، يمكنك:

  • تشغيل terraform plan تلقائيًا عند كل طلب سحب.
  • ضمان مراجعة تغييرات البنية التحتية والموافقة عليها.
  • أتمتة terraform apply لعمليات نشر مضبوطة.

ملف سير عمل Terraform

يُعرَّف سير عمل GitHub Actions الخاص بـ Terraform في ملف YAML داخل دليل .github/workflows/ في مستودعك. ويحدد هذا الملف متى يُشغَّل سير العمل والخطوات التي ينفذها.

إليك بنية أساسية لسير عمل يمكنه تخطيط التغييرات:

name: 'Terraform CI'
on: 
  pull_request:
    branches:
      - main
jobs:
  terraform:
    name: 'Terraform'
    runs-on: ubuntu-latest
    steps:
      # Your workflow steps will go here

إعداد Terraform وخطوة التهيئة

قبل تشغيل أي أوامر Terraform، يحتاج سير العمل إلى سحب التعليمات البرمجية الخاصة بك، وإعداد Terraform CLI، وتهيئة دليل العمل.

تسهّل لك الإجراء hashicorp/setup-terraform هذه المهمة:

- name: Checkout Code
  uses: actions/checkout@v4

- name: Setup Terraform
  uses: hashicorp/setup-terraform@v2
  with:
    terraform_version: 1.5.x

- name: Terraform Init
  run: terraform init

خطوة Terraform Plan

يُعدّ الأمر terraform plan خطوة أساسية في أي سير عمل لـ IaC. فهو ينفّذ "تشغيلًا تجريبيًا" لتحديد الإجراءات اللازمة للوصول إلى الحالة المطلوبة المعرّفة في ملفات الإعداد.

تتيح لك هذه الخطوة مراجعة التغييرات المقترحة قبل تعديل أي شيء فعليًا في بيئتك السحابية.

- name: Terraform Plan
  run: terraform plan
  env:
    AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
    AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}

تحقق سريع: Terraform Plan

يُعدّ فهم الأوامر الأساسية أمرًا أساسيًا لاستخدام Terraform بفعالية في أسّرة العمل المؤتمتة.

اعتبارات Terraform Apply

هنا يُجري الأمر terraform apply التغييرات الفعلية، إذ يطبّق التعديلات على بنيتك التحتية.

في مسارات التكامل والنشر المؤتمتة، من الممارسات الشائعة تشغيل terraform apply فقط بعد مراجعة بشرية لمخرجات plan، أو عند الدمج في فروع محددة فقط، مثل main أو production. ويمنع ذلك إجراء تغييرات عرضية أو غير معتمدة على البنية التحتية.

مراجعة IaC باستخدام Terraform وActions

استكشفنا في هذا الدرس كيف تساعد البنية التحتية كرمز (IaC) على إدارة البنية التحتية باستخدام التعليمات البرمجية. وركّزنا على Terraform بوصفه الأداة الرائدة لـ IaC، وتعلمنا صيغة HCL وسير العمل الأساسي init وplan وapply.

كما رأيت كيف يمكن لـ GitHub Actions أتمتة خطوتَي terraform init وterraform plan، مما يجعل عمليات نشر بنيتك التحتية أكثر أمانًا واتساقًا، ويدمجها بالكامل في مسارات CI/CD الخاصة بك.

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

هل درس «IaC باستخدام Terraform وGitHub Actions» مجاني؟

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

ماذا ستتعلم في «IaC باستخدام Terraform وGitHub Actions»؟

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

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

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

كم من الوقت يستغرق درس «IaC باستخدام Terraform وGitHub Actions»؟

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

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

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

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

  1. IaC باستخدام Terraform وGitHub Actions
  2. إدارة الموارد السحابية
  3. أتمتة تحديثات البنية التحتية
  4. إدارة حالة Terraform والواجهات الخلفية البعيدة
← العودة إلى DevOps Bootcamp