الوحدات وإعادة استخدام التعليمات البرمجية
تعلّموا كيف تجمع وحدات Terraform البنية التحتية القابلة لإعادة الاستخدام، وتقبل المدخلات، وتعرض المخرجات، وتحافظ على إعدادات جافة وقابلة للصيانة.
الوحدات وإعادة استخدام التعليمات البرمجية درس مجاني في DevOps Bootcamp على CoddyKit. هذا هو الدرس 4 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في DevOps Bootcamp، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة DevOps Bootcamp 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) وفتح باقي دورة DevOps Bootcamp، انتقل إلى CoddyKit PRO. تتضمن دورة DevOps Bootcamp 4 دروس في المجموع.
ماذا ستتعلم في «الوحدات وإعادة استخدام التعليمات البرمجية»؟
تعلّموا كيف تجمع وحدات Terraform البنية التحتية القابلة لإعادة الاستخدام، وتقبل المدخلات، وتعرض المخرجات، وتحافظ على إعدادات جافة وقابلة للصيانة. تتمرن على DevOps Bootcamp مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.
هل أحتاج إلى خبرة سابقة لأبدأ DevOps Bootcamp؟
لا تُشترط خبرة سابقة. DevOps Bootcamp على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 4 من أصل 4.
كم من الوقت يستغرق درس «الوحدات وإعادة استخدام التعليمات البرمجية»؟
معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.
هل يمكنني كتابة وتشغيل أكواد في درس DevOps Bootcamp هذا؟
نعم. كل درس في DevOps Bootcamp يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.
جميع الدروس في هذه الدورة
- الموفّرون والموارد
- المتغيرات والمخرجات
- أساسيات إدارة الحالة
- الوحدات وإعادة استخدام التعليمات البرمجية