terraform plan
معاينة تغييرات البنية التحتية terraform plan
terraform plan يعرض التغييرات التي سينفّذها terraform apply على البنية التحتية دون تطبيق أي شيء فعلياً — معاينة آمنة قبل أي تعديل حقيقي.
terraform plan يقارن ملفات التعريف (.tf) الحالية بحالة البنية التحتية المسجّلة في ملف الحالة (state)، ويحسب فروقات دقيقة: أي موارد ستُنشأ، أي ستُعدَّل، وأي ستُحذف — كل ذلك بدون تنفيذ أي تغيير فعلي على البنية التحتية الحقيقية. هذا يجعله أداة معاينة (dry run) أساسية قبل أي terraform apply، خصوصاً في بيئات إنتاج حيث خطأ في التعديل قد يكون مكلفاً.
في CI/CD، الممارسة الشائعة هي تشغيل terraform plan تلقائياً على كل Pull Request يعدّل ملفات البنية التحتية، وإرفاق مخرجاته كتعليق للمراجعة البشرية قبل أي terraform apply فعلي — يتحول التغيير في البنية التحتية لمراجعة كود عادية بدل تعديل يدوي غير موثّق.
الصياغة
terraform plan terraform plan -out=<ملف الخطة>
📄 مثال
# في CI: معاينة قبل أي تعديل فعلي terraform init terraform plan -out=tfplan # لاحقاً بعد موافقة المراجعة: # terraform apply tfplan
أهم النقاط
| العنصر | الوظيفة |
|---|---|
| الإضافة (+) | مورد جديد سيُنشأ |
| التعديل (~) | مورد موجود ستتغير بعض خصائصه |
| الحذف (-) | مورد سيُحذف نهائياً من البنية التحتية |
| -out | يحفظ الخطة في ملف يمكن تمريره لـ terraform apply لاحقاً بدل حساب خطة جديدة |
💡 نصائح عملية
- احفظ ناتج -out واستخدمه في terraform apply لضمان تطبيق نفس الخطة المُراجَعة بالضبط، لا خطة جديدة قد تختلف
- ادمج terraform plan في كل Pull Request يمس ملفات .tf كخطوة CI منفصلة قبل مرحلة apply اليدوية أو المشروطة
⚠️ أخطاء شائعة
- تجاهل قراءة مخرجات plan بالتفصيل قبل apply — علامة الحذف (-) على مورد غير مقصود قد تُفقِد بيانات حقيقية
- تشغيل apply مباشرة في CI بلا مراجعة بشرية لخطة plan على بيئات إنتاج حساسة
خصائص ذات صلة
🎓 تريد فهم الصورة الكاملة خطوة بخطوة؟ ابدأ من مسار DEVOPS الكامل بالعربي.
📚 للتعمق التقني الكامل بالإنجليزية: MDN Web Docs