0Pricing
Terraform Infrastructure as Code · درس

الوحدات وإعادة استخدام التعليمات البرمجية

تعلّموا كيف تجمع وحدات Terraform البنية التحتية القابلة لإعادة الاستخدام، وتقبل المدخلات، وتعرض المخرجات، وتحافظ على إعدادات جافة وقابلة للصيانة.

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

لماذا الوحدات؟

يؤدي نسخ الموارد نفسها ولصقها عبر البيئات إلى الانحراف والأخطاء. الوحدة حاوية قابلة لإعادة الاستخدام ومعلّمة بالمعاملات، وتضم موارد Terraform يمكن استدعاؤها مرات عديدة بمدخلات مختلفة، مع إبقاء التعليمات البرمجية متوافقة مع مبدأ DRY.

كل إعداد هو وحدة

المجلد الذي تشغّلون فيه terraform apply هو الوحدة الجذرية. والوحدات التي تستدعيها هي الوحدات الفرعية. لذلك أنتم تستخدمون الوحدات أصلًا، وما تفعلونه هو إضافة المزيد منها.

بنية الوحدة

الوحدة مجرد مجلد يضم ملفات .tf، وعادةً ما تكون على النحو الآتي:

  • main.tf — الموارد.
  • variables.tf — متغيرات الإدخال.
  • outputs.tf — القيم المكشوفة.

تعريف المدخلات

تُعرّف المدخلات كمتغيرات داخل الوحدة، مما يتيح للمستدعين تخصيص سلوكها.

variable "bucket_name" {
  type = string
}
variable "versioning" {
  type    = bool
  default = false
}

استخدام المدخلات

تشير موارد الوحدة إلى متغيراتها.

resource "aws_s3_bucket" "this" {
  bucket = var.bucket_name
}

عرض المخرجات

تعيد المخرجات قيمًا مفيدة إلى المستدعي، مثل المعرّفات أو ARNs.

output "bucket_arn" {
  value = aws_s3_bucket.this.arn
}

استدعاء وحدة

تستدعي الوحدة الجذرية وحدةً فرعية باستخدام كتلة module، مع تمرير المدخلات.

module "logs" {
  source     = "./modules/bucket"
  bucket_name = "app-logs"
  versioning  = true
}

الإشارة إلى مخرجات الوحدة

يمكنكم الوصول إلى مخرجات الوحدة باستخدام module.NAME.OUTPUT في موضع آخر من إعداداتكم.

resource "aws_s3_bucket_policy" "p" {
  bucket = module.logs.bucket_arn
}

مصادر الوحدات

يمكن أن يكون source مسارًا محليًا، أو عنوان Git، أو Terraform Registry العام.

module "vpc" {
  source  = "terraform-aws-modules/vpc/aws"
  version = "5.0.0"
}

إدارة إصدارات الوحدات

ثبّتوا دائمًا version لوحدات السجل، لكي تكون الترقيات مقصودة. شغّلوا terraform init بعد إضافة الوحدات أو تغييرها لتنزيلها.

تصميم وحدات جيدة

حافظوا على تركيز الوحدات (مكوّن منطقي واحد)، واعرضوا المدخلات التي تحتاجون إليها فقط، ووثّقوا المخرجات، وتجنبوا تضمين قيم ثابتة خاصة بالبيئة. تتفوق الوحدات الصغيرة القابلة للتركيب على وحدة واحدة ضخمة.

تحقق سريع

اختبروا معرفتكم بالوحدات.

مراجعة

تجعل الوحدات Terraform قابلًا لإعادة الاستخدام ومتوافقًا مع مبدأ DRY.

  • الوحدة مجلد من ملفات .tf يضم متغيرات (مدخلات) ومخرجات.
  • استدعوها باستخدام كتلة module وsource، والوصول إلى نتائجها عبر module.NAME.OUTPUT.
  • يمكن أن تكون المصادر محلية أو Git أو السجل؛ ثبّتوا version وشغّلوا init.
  • صمّموا وحدات صغيرة ومركّزة وموثّقة جيدًا.

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

هل درس «الوحدات وإعادة استخدام التعليمات البرمجية» مجاني؟

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

ماذا ستتعلم في «الوحدات وإعادة استخدام التعليمات البرمجية»؟

تعلّموا كيف تجمع وحدات Terraform البنية التحتية القابلة لإعادة الاستخدام، وتقبل المدخلات، وتعرض المخرجات، وتحافظ على إعدادات جافة وقابلة للصيانة. تتمرن على Terraform Infrastructure as Code مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.

هل أحتاج إلى خبرة سابقة لأبدأ Terraform Infrastructure as Code؟

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

كم من الوقت يستغرق درس «الوحدات وإعادة استخدام التعليمات البرمجية»؟

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

هل يمكنني كتابة وتشغيل أكواد في درس Terraform Infrastructure as Code هذا؟

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

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

  1. الموفّرون والموارد
  2. المتغيرات والمخرجات
  3. أساسيات إدارة الحالة
  4. الوحدات وإعادة استخدام التعليمات البرمجية
← العودة إلى Terraform Infrastructure as Code