التحكم في الإصدارات باستخدام Git
ادمج تهيئات Terraform مع Git للتحكم في الإصدارات وإنشاء الفروع ودمجها والتطوير التعاوني.
التحكم في الإصدارات باستخدام Git درس مجاني في Terraform Infrastructure as Code على CoddyKit. هذا هو الدرس 2 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في Terraform Infrastructure as Code، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة Terraform Infrastructure as Code 4 دروس في المجموع.
Git للبنية التحتية
تعني إدارة البنية التحتية باستخدام الشيفرة (IaC) التعامل مع تهيئات البنية التحتية كما نتعامل مع شيفرة البرمجيات. وكما هو الحال مع البرمجيات، تستفيد هذه التهيئات كثيرًا من التحكم في الإصدارات.
يُعد Git الأداة الأكثر شيوعًا للتحكم في الإصدارات. فهو يساعدكم على تتبع التغييرات، والتعاون مع أعضاء الفريق، والعودة إلى إصدارات سابقة إذا حدث خطأ ما في Terraform.
تهيئة Git في Terraform
لبدء تتبع مشروع Terraform، تحتاجون أولًا إلى تهيئة مستودع Git في الدليل الجذر لمشروعكم. يؤدي ذلك إلى إنشاء مجلد مخفي باسم .git.
لنفترض أن لديكم ملف main.tf جاهزًا.
git initتهيئة الشيفرة وإجراء Commit
بعد إنشاء ملفات Terraform أو تعديلها، تحتاجون إلى وضعها في مرحلة التجهيز "stage" (git add) ثم إجراء "commit" لها (git commit) لتسجيل التغييرات في سجل المستودع.
يجب أن يمثل كل Commit مجموعة منطقية من التغييرات، مع رسالة واضحة.
git add main.tf
git commit -m "Initial commit of main.tf"الحفاظ على خصوصية ملفات الحالة
ينشئ Terraform ملفات حالة (مثل terraform.tfstate) وأدلة مؤقتة (مثل .terraform/) لا ينبغي إطلاقًا إيداعها في Git. فهي تحتوي على معلومات حساسة وقد تتسبب في تعارضات.
استخدموا ملف .gitignore لإخبار Git بالملفات التي يجب تجاهلها.
# Terraform specific files
.terraform/
*.tfstate
*.tfstate.*إنشاء فرع للميزات الجديدة
تتيح لكم الفروع العمل على ميزات جديدة أو إصلاحات للأخطاء بمعزل عن قاعدة الشيفرة الرئيسية. ويمنع ذلك التأثير في مسار التطوير الرئيسي.
- غالبًا ما يكون الفرع الافتراضي هو
mainأوmaster. - أنشئوا فروعًا جديدة لمهام محددة.
git branch
git checkout -b add-s3-bucketالتطوير بمعزل
بعد الانتقال إلى فرعكم الجديد (مثل add-s3-bucket)، يمكنكم إجراء تغييرات على تهيئة Terraform دون التأثير في الفرع main.
لنُضف مورد حاوية S3 بسيطًا إلى ملف main.tf.
resource "aws_s3_bucket" "example" {
bucket = "my-unique-bucket-name-123"
}الدمج مجددًا في الفرع الرئيسي
عند اكتمال الميزة واختبارها على فرعها، يمكنكم دمجها مجددًا في الفرع main. يؤدي ذلك إلى دمج تغييراتكم في قاعدة الشيفرة الأساسية.
ابدؤوا أولًا بالعودة إلى main، ثم ادمجوا فرع الميزة.
git checkout main
git merge add-s3-bucketمعالجة تعارضات الدمج
أحيانًا، عند إجراء الدمج، يتعذر على Git دمج التغييرات تلقائيًا. يُسمى ذلك تعارض دمج. ستحتاجون إلى تعديل الملفات المتعارضة يدويًا لاختيار التغييرات التي تريدون الاحتفاظ بها.
بعد حل التعارض، نفّذوا git add ثم git commit على الملف المدمج.
المشاركة مع المستودعات البعيدة
للتعاون، ادفعوا تغييراتكم المحلية إلى مستودع بعيد (مثل GitHub أو GitLab). ويمكن للآخرين بعد ذلك سحب هذه التغييرات إلى أجهزتهم المحلية.
يتيح ذلك للفرق العمل على مشروع Terraform نفسه في الوقت ذاته.
git remote add origin https://github.com/your-org/your-repo.git
git push -u origin mainالتحقق من سير عمل Git
لقد أضفتم للتو موردًا جديدًا إلى ملف main.tf وتريدون حفظ هذه التغييرات في سجل Git. ما أوامر Git التي تستخدمونها عادةً؟
مراجعة Git مع Terraform
في هذا الدرس، استكشفنا أهمية Git في إدارة إعدادات Terraform. وتعلمتم ما يلي:
- تهيئة مستودع Git وتتبع التغييرات.
- استخدام
.gitignoreلاستبعاد الملفات الحساسة. - العمل باستخدام الفروع لإجراء تطوير معزول.
- دمج التغييرات ومعالجة التعارضات.
- التعاون باستخدام المستودعات البعيدة.
يضمن Git أن تكون البنية التحتية كتعليمة برمجية (IaC) خاضعة لإدارة الإصدارات وقابلة للتدقيق وتعاونية!
الأسئلة الشائعة
هل درس «التحكم في الإصدارات باستخدام Git» مجاني؟
نعم — نص درس «التحكم في الإصدارات باستخدام Git» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة Terraform Infrastructure as Code، انتقل إلى CoddyKit PRO. تتضمن دورة Terraform Infrastructure as Code 4 دروس في المجموع.
ماذا ستتعلم في «التحكم في الإصدارات باستخدام Git»؟
ادمج تهيئات Terraform مع Git للتحكم في الإصدارات وإنشاء الفروع ودمجها والتطوير التعاوني. تتمرن على Terraform Infrastructure as Code مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.
هل أحتاج إلى خبرة سابقة لأبدأ Terraform Infrastructure as Code؟
لا تُشترط خبرة سابقة. Terraform Infrastructure as Code على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 2 من أصل 4.
كم من الوقت يستغرق درس «التحكم في الإصدارات باستخدام Git»؟
معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.
هل يمكنني كتابة وتشغيل أكواد في درس Terraform Infrastructure as Code هذا؟
نعم. كل درس في Terraform Infrastructure as Code يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.
جميع الدروس في هذه الدورة
- بنية الشفرة واتفاقيات التسمية
- التحكم في الإصدارات باستخدام Git
- التعاون بين أعضاء الفريق وسير العمل
- التوثيق وسير عمل الخدمة الذاتية