قراءة changed مقابل ok في المخرجات
فسّر ما نفّذه التشغيل فعليًا
قراءة changed مقابل ok في المخرجات درس مجاني في DevOps Bootcamp على CoddyKit. هذا هو الدرس 2 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في DevOps Bootcamp، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة DevOps Bootcamp 4 دروس في المجموع.
تعرض كل مهمة حالة
بعد كل مهمة، يطبع Ansible حالة لكل مضيف. وأكثر حالتين ستظهران لكم هما ok وchanged، وهما ترويان قصتين مختلفتين.
تعني ok أنها صحيحة مسبقًا
تعني حالة ok أن المضيف يطابق الحالة المطلوبة مسبقًا. نفّذت المهمة فحصها، لكنها لم تُجرِ أي تغيير على الإطلاق.
ok: [web1]تعني changed أنها أجرت تغييرًا
تعني حالة changed أن المضيف لم يكن مطابقًا، ولذلك عدّل module شيئًا ما ليقرّبه من الحالة التي أعلنتم عنها.
changed: [web1]الأصفر في مقابل الأخضر
يُلوّن Ansible مخرجات changed بالأصفر ومخرجات ok بالأخضر افتراضيًا. وظهور سيل من اللون الأخضر في التشغيل الثاني هو بالضبط ما تريدونه.
يلخّص PLAY RECAP كل شيء
في النهاية، يعرض PLAY RECAP أعدادًا لكل مضيف: ok وchanged وunreachable وfailed. إنه فحص صحة في سطر واحد.
web1 : ok=4 changed=1 unreachable=0 failed=0ينبغي أن تكون كل النتائج ok في التشغيل الثاني
شغّلوا playbook idempotent مرتين، وينبغي أن يعرض الملخص في المرة الثانية changed=0. ويستحق أي تغيير في تشغيل مكرر التحقيق فيه.
web1 : ok=4 changed=0 unreachable=0 failed=0changed ليست خطأ
حالة changed تعني النجاح، وليست مشكلة. إنها تسجّل ببساطة أن المضيف كان يحتاج إلى عمل وأن المهمة أنجزته بالشكل الصحيح.
تعني skipping فشل شرط
قد ترون أيضًا skipping، ما يعني أن شرط when كان خاطئًا، ولذلك لم تُشغّل المهمة على ذلك المضيف.
skipping: [db1]failed وunreachable
تعني حالة failed أن المهمة واجهت خطأ؛ أما unreachable فتعني أن Ansible لم يتمكن حتى من الاتصال عبر SSH. وكلتاهما توقفان play على ذلك المضيف.
استخدموا changed للتحقق من idempotency
يُعدّ عدد changed مقياس idempotency لديكم. وإذا استمر التشغيل المتكرر في الإبلاغ عن تغييرات، فهذا يعني أن إحدى المهام ليست idempotent حقًا.
اطّلعوا على مزيد من التفاصيل باستخدام -v
أضيفوا -v (أو -vv) إلى ansible-playbook للحصول على مخرجات مطوّلة توضّح بالضبط ما الذي غيّرته كل مهمة ولماذا.
ansible-playbook site.yml -vاختبار سريع
تشغّلون playbook نفسه مرة ثانية، فيعرض الملخص ok=5 changed=0.
خلاصة
اقرؤوا ok بمعنى «صحيح مسبقًا»، وchanged بمعنى «تم إصلاحه للتو». يثبت PLAY RECAP وتشغيل مكرر بنتيجة changed=0 أن play لديكم idempotent. ✅
الأسئلة الشائعة
هل درس «قراءة changed مقابل ok في المخرجات» مجاني؟
نعم — نص درس «قراءة changed مقابل ok في المخرجات» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة DevOps Bootcamp، انتقل إلى CoddyKit PRO. تتضمن دورة DevOps Bootcamp 4 دروس في المجموع.
ماذا ستتعلم في «قراءة changed مقابل ok في المخرجات»؟
فسّر ما نفّذه التشغيل فعليًا تتمرن على DevOps Bootcamp مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.
هل أحتاج إلى خبرة سابقة لأبدأ DevOps Bootcamp؟
لا تُشترط خبرة سابقة. DevOps Bootcamp على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 2 من أصل 4.
كم من الوقت يستغرق درس «قراءة changed مقابل ok في المخرجات»؟
معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.
هل يمكنني كتابة وتشغيل أكواد في درس DevOps Bootcamp هذا؟
نعم. كل درس في DevOps Bootcamp يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.
جميع الدروس في هذه الدورة
- الحالة المطلوبة، لا البرامج النصية خطوة بخطوة
- قراءة changed مقابل ok في المخرجات
- لماذا يكسر command قابلية التكرار
- وضع الفحص: تشغيل تجريبي باستخدام --check