أتمتة `plan` و`apply`
أعدّ `terraform plan` آليًا للمراجعة و`terraform apply` للنشر ضمن نظام CI/CD، مع ضمان اتساق عمليات النشر.
أتمتة `plan` و`apply` درس مجاني في DevOps Bootcamp على CoddyKit. هذا هو الدرس 2 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في DevOps Bootcamp، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة DevOps Bootcamp 4 دروس في المجموع.
أتمتة عمليات نشر Terraform
قد يكون تشغيل terraform plan وterraform apply يدويًا بطيئًا ومعرضًا للأخطاء، ولا سيما في بيئات العمل الجماعي.
وتحقق أتمتة هذه الخطوات ضمن مسار التكامل المستمر/النشر المستمر (CI/CD) فوائد مهمة:
- السرعة: تنفيذ تغييرات البنية التحتية بسرعة أكبر.
- الاتساق: التخلص من الأخطاء البشرية.
- الموثوقية: ضمان عمليات نشر يمكن التنبؤ بها.
- التعاون: تسهيل مراجعة الفريق والموافقة عليه.
معاينة التغييرات تلقائيًا
يُعد الأمر terraform plan شبكة أمان لكم؛ إذ يعرض بدقة التغييرات التي سيُجريها Terraform على بنيتكم التحتية من دون تنفيذها فعليًا.
في مسار CI/CD، ينبغي تشغيل plan تلقائيًا عند كل تغيير في التعليمات البرمجية (مثل طلب السحب). ويوفر ذلك معاينة فورية للمراجعة.
إعداد الخطة التلقائية
يتضمن دمج terraform plan في مسار CI عادةً بضع خطوات:
- التهيئة: شغّلوا
terraform initلإعداد دليل العمل. - التخطيط: نفّذوا
terraform planلإنشاء التغييرات المقترحة. - الإخراج: التقطوا مخرجات الخطة لمراجعتها.
إليكم مثالًا مبسطًا لما قد يبدو عليه ذلك في برنامج نصي لـ CI:
# ci_plan_stage.sh
terraform init
terraform plan -out=tfplanفهم التغييرات المقترحة
بعد تشغيل terraform plan، تصبح مخرجاته بالغة الأهمية؛ فهي تفصّل كل مورد ستتم إضافته (+) أو تحديثه (~) أو تدميره (-).
تساعد مراجعة هذه المخرجات (غالبًا في تعليق على طلب السحب) على اكتشاف التغييرات غير المقصودة، بما يضمن سلامة البنية التحتية. وهي بمثابة نقطة تحقق مهمة.
الموافقة البشرية على النشر
تتمثل إحدى الركائز الأساسية للأتمتة الآمنة في وضع بوابة أمام خطوة terraform apply. فعادةً لا ترغبون في تشغيل apply فورًا بعد كل عملية plan.
بدلًا من ذلك، ينبغي أن يراجع أحد أعضاء الفريق مخرجات plan ويوافق عليها صراحةً. ثم تؤدي هذه الموافقة (مثل دمج طلب سحب) إلى بدء عملية النشر الفعلية.
نشر البنية التحتية تلقائيًا
بعد مراجعة terraform plan والموافقة عليه، يتولى terraform apply المهمة؛ إذ ينفّذ هذا الأمر التغييرات المحددة في ملفات الإعداد.
في مسار CI/CD، غالبًا ما يتم تشغيل apply بعد دمج ناجح في فرع نشر مخصص (مثل main أو production)، أو عبر تشغيل يدوي بعد الموافقة.
خطوة النشر التلقائي
عند أتمتة terraform apply، ستستخدمون غالبًا الخيار -auto-approve في بيئات CI/CD. انتبهوا إلى أن ذلك يتجاوز مطالبة التأكيد التفاعلية.
احرصوا دائمًا على حماية هذه الخطوة بضوابط وصول قوية، وعلى ألا تُشغّل إلا بعد موافقة بشرية أو تلقائية صريحة تستند إلى خطة ناجحة.
# cd_apply_stage.sh
terraform init
terraform apply -auto-approve tfplanعمليات نشر متسقة في كل مرة
صُمّم Terraform ليكون idempotent، أي إن تشغيل terraform apply عدة مرات باستخدام الإعداد نفسه لن يؤدي إلى تغييرات إلا إذا كانت البنية التحتية الفعلية لا تطابق الحالة المطلوبة.
إذا كانت بنيتكم التحتية تطابق الإعداد بالفعل، فلن ينفّذ apply أي إجراء، مما يضمن عمليات نشر متسقة وموثوقة من دون آثار جانبية غير مقصودة.
تأمين سير العمل التلقائي
عند أتمتة plan وapply:
- أقل قدر من الصلاحيات: احرصوا على أن يمتلك وكيل CI/CD الصلاحيات الضرورية فقط.
- الحالة البعيدة: استخدموا وحدات تخزين للحالة البعيدة مع القفل لدعم تعاون الفريق.
- التحكم في الإصدارات: احتفظوا بجميع إعدادات Terraform تحت إدارة الإصدارات.
- المراقبة: طبّقوا المراقبة والتنبيهات لحالة النشر.
اختبروا فهمكم
لنختبر معرفتكم بأتمتة Terraform في CI/CD!
أهم النقاط
تعلّمنا في هذا الدرس كيفية أتمتة terraform plan وterraform apply ضمن مسار CI/CD.
- يوفر
terraform planمعاينة آمنة للتغييرات، وهو مثالي للفحوصات التلقائية والمراجعة البشرية. - يضمن اشتراط الموافقة قبل
applyمراجعة التغييرات المهمة. - يؤتمت
terraform applyعملية النشر، وغالبًا ما يُستخدم معه-auto-approveفي البيئات الخاضعة للرقابة. - تجعل خاصية idempotency في Terraform عمليات النشر التلقائية موثوقة وقابلة للتنبؤ.
تُعد هذه الأتمتة أساسية لإدارة البنية التحتية بكفاءة واتساق وتعاون!
الأسئلة الشائعة
هل درس «أتمتة `plan` و`apply`» مجاني؟
نعم — نص درس «أتمتة `plan` و`apply`» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة DevOps Bootcamp، انتقل إلى CoddyKit PRO. تتضمن دورة DevOps Bootcamp 4 دروس في المجموع.
ماذا ستتعلم في «أتمتة `plan` و`apply`»؟
أعدّ `terraform plan` آليًا للمراجعة و`terraform apply` للنشر ضمن نظام CI/CD، مع ضمان اتساق عمليات النشر. تتمرن على DevOps Bootcamp مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.
هل أحتاج إلى خبرة سابقة لأبدأ DevOps Bootcamp؟
لا تُشترط خبرة سابقة. DevOps Bootcamp على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 2 من أصل 4.
كم من الوقت يستغرق درس «أتمتة `plan` و`apply`»؟
معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.
هل يمكنني كتابة وتشغيل أكواد في درس DevOps Bootcamp هذا؟
نعم. كل درس في DevOps Bootcamp يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.
جميع الدروس في هذه الدورة
- Terraform في مسارات CI/CD
- أتمتة `plan` و`apply`
- إدارة بيانات الاعتماد بأمان
- GitOps وأتمتة طلبات السحب