What is register and debug in ansible PlayBook


  • با استفاده از کلید register می‌توان خروجی یک ماژول را درون یک متغیر ریخت و همچنین با استفاده از کلید debug می‌توان محویات آن متغیر را چاپ نمود.
  • به عنوان مثال کد زیر باعث می‌شود تا :
    • ابتدا ماژول ping برای تمام خادم‌های تحت مدیریت اجرا شود.
    • سپس خروجی ماژول ping بر روی متغیری با نام result ریخته شود.
    • در نهایت محتویات متغیر result خوانده و بر روی صفحه نمایش داده شود.

  • به منظور اجرای پرونده‌ی PlayBook به شکل زیر عمل کنید :


  • به عنوان مثال کد زیر باعث می‌شود تا :
    • ابتدا دست نوشته‌ی script.sh بر روی تمام خادم‌های تحت مدیریت اجرا شود.
    • سپس در صورت اجرای موفقیت آمیز این ماژول، متنی دلخواه نمایش داده شود.

  • به منظور اجرای پرونده‌ی PlayBook به شکل زیر عمل کنید :


  • به عنوان مثال کد زیر باعث می‌شود تا :
    • ابتدا با استفاده از ماژول shell دستور find بر روی خادم‌های تحت مدیریت اجرا شود.
    • سپس خروجی دستور find درون متغیری با نام find_output ریخته شود.
    • در نهایت محتویات متغیر find_output چاپ و نمایش داده شود.

  • به منظور اجرای پرونده‌ی PlayBook به شکل زیر عمل کنید :

  • نکته: به منظور چاپ خروجی استاندارد ، پرونده‌ی PlayBook زیر را در نظر بگیرید :


  • به عنوان مثال کد زیر باعث می‌شود تا :
    • ابتدا با استفاده از ماژول shell دستور find بر روی خادم‌های تحت مدیریت اجرا شود.
    • سپس خروجی دستور find درون متغیری با نام with_output ریخته شود.
    • در نهایت تنها خروجی استاندارد دستور find که درون متغیر with_output ریخته شده است، درون یک حلقه قرار گیرد.

  • پرونده‌ی PlayBook بالا باعث می‌شود تا در صورتی که پرونده‌ای درون مسیر مشخص شده یافت شد، یک پشتیبان از آن تهیه شود.
  • نکته: در صورتی که چندین پرونده پیدا شد، این امر توسط حلقه به دفعات تکرار می‌شود.
  • به مواردی که به صورت رنگی مشخص شده است، دقت کنید.
  • به منظور اجرای پرونده‌ی PlayBook به شکل زیر عمل کنید :

  • در مثال بالا از پسوند stdout_lines در زمان اشاره به متغیر with_output استفاده کردیم.
  • فهرست این دست از پسوندها به شرح زیر است :


  • به منظور مطالعه‌ی بیشتر لینک‌های زیر پیشنهاد می‌شود :


  • آزمایش شده بر روی Ansible نسخه‌ی 2.5.1
  • آزمایش شده بر روی سیستم عامل Ubuntu 18.04