📜 نحوه استفاده از Ansible Lint برای اسکن کتابهای پخش |

4 دقیقه

آیا دوست دارید نحوه استفاده از Ansible Lint را بیاموزید؟

Ansible یک ابزار اتوماسیون فناوری اطلاعات.

Ansible Lint یک ابزار خط فرمان است که کد دفترچه بازی شما را از نظر اشکالات احتمالی مورد تجزیه و تحلیل قرار می دهد.

امروز ما در مورد چگونگی روند پر کردن خط صحبت خواهیم کرد.

ansible-lint چیست؟

قبل به Ansible-lint برویم ، بیایید نگاهی به Ansible بیندازیم.

Ansible یک ابزار اتوماسیون فناوری اطلاعات منبع باز است.

هدف از این ابزار پیکربندی سیستم ها ، استقرار نرم افزار و موارد دیگر است.

معمولاً قابل پاسخ از طریق SSH به گره های دیگر متصل می شود و ماژول های Ansible را به آنها فشار می دهد. Ansible پیکربندی های خود را در فایل های .yml ذخیره می کند.

Ansible playbook یک فایل مهم YAML است.

نحوه کار Ansible در گره ها را مشخص می کند. بنابراین ، خطاهای موجود در فایل های YAML می تواند Ansible را تحت تأثیر قرار دهد.

اینجاست که ما از ابزار خط فرمان ، ansible-lint استفاده می کنیم. ما از این دستور برای چاپ کتاب های بازی یا فایل های .yml در Ansible استفاده می کنیم.

در فرآیند لاینتینگ برنامه ای اجرا می شود که کد را تجزیه و تحلیل می کند و اشکالات احتمالی را در کد Ansible پیدا می کند.

یعنی رفتار و روش هایی را که نیاز به بهبود دارند ، تشخیص می دهد. .

می تواند خطاهای نحوی ، متغیرهای تعریف نشده و غیره را تشخیص دهد

نصب ابزار Ansible linting

Ansible-lint یک ابزار خط فرمان است.

در بسته Ansible گنجانده نشده است ، بنابراین به برای نصب آن ما می توانیم آن را به روش های مختلف نصب کنیم.

برای نصب آن با استفاده از مدیر بسته های داخلی در اوبونتو ، فرمان را اجرا کنید ،

 apt install ansible-lint 

از آنجا که ansible-lint یک بسته پایتون است ، می توانیم آن را با استفاده از دستورات نصب کنید ،

 pip install ansible-lint 

حالا بیایید ببینیم چگونه از آن استفاده کنیم!

چگونه از ansible-lint استفاده کنیم؟

برای به دست آوردن اطلاعات کامل در مورد استفاده از دستور linting ، از [19659024] ansible- lint –help

و خروجی به این شکل است:

بسیاری از قوانین پیش فرض هنگام خط کشی یک دفترچه بازی استفاده می شود.

برای فهرست بندی آنها ، از دستور زیر استفاده می کنیم:

 ansible -lint -L 

در مجموع 18 قانون پیش فرض وجود دارد.

برخی از آنها:

 ANSIBLE0002: دنبال کردن فضای خالی
نباید هیچ فضای خالی عقب وجود داشته باشد
ANSIBLE0004: پرداخت های Git باید دارای نسخه صریح باشند
تمام پرداخت های کنترل نسخه باید به تعهد یا برچسب صریح اشاره کنند ، نه فقط "آخرین"
ANSIBLE0005: پرداخت های عطاری باید حاوی تجدید نظر صریح باشند
تمام پرداخت های کنترل نسخه باید به تعهد یا برچسب صریح اشاره کنند ، نه فقط "آخرین"
ANSIBLE0006: استفاده از فرمان به جای ماژول
اجرای یک دستور زمانی که ماژول Ansible وجود داشته باشد ، به طور کلی ایده بدی است
ANSIBLE0007: استفاده از دستور به جای استدلال به عنوان مثال فایل
اجرای یک دستور زمانی که بر روی ماژول ها استدلال وجود دارد ، به طور کلی ایده بدی است
ANSIBLE0008: sudo منسوخ شده است
به جای sudo / sudo_user ، از become / become_user استفاده کنید.
... ... . 

به عنوان مثال ، اگر دفترچه بازی دارای فضاهای عقب باشد ، خروجی پرزها به این شکل خواهد بود:

 ANSIBLE0002: دنباله خالی فضای خالی

قوانین شکست خورده را به همراه شماره خط دقیق محل وقوع لیست می کند.

به طور مشابه ، خطاهای نحوی در دفترچه پخش به این شکل است ،

 خطای نحوی هنگام بارگیری YAML.
شاخص مورد انتظار '-' را پیدا نکرد

به نظر می رسد خطا در '/etc/ansible/playbook.yml' است: خط 14 ، ستون 6 ، اما ممکن است
بسته به مشکل نحو دقیق ، در جای دیگر فایل قرار بگیرید.

به نظر می رسد خط توهین آمیز عبارت است از:

نام: SELinux را غیرفعال کنید
^ اینجا 

خط خطا به همراه خطای دقیق در اینجا نمایش داده می شود.

مهمتر از همه ، کاربر باید دستور linting را در همان محل فایل .yml اجرا کند.

برای اسکن همه فایل های .yml در یک مکان مشخص ، می توانیم از دستور

 ansible-lint * .yml 

نحوه پیکربندی آن استفاده کنیم؟

سپس ، اجازه دهید به امکان سفارشی سازی ابزار لایتینگ بپردازیم.

ما می توانیم سفارشی سازی کنیم ansible -lint با توجه به الزامات ما.

علاوه بر قوانین به طور پیش فرض ، ما می توانیم قوانین اضافی را در پرونده مشخص کنیم.

و پرچم خط فرمان -c <путь к файлу> باعث می شود که دفترچه پخش بر اساس کاربر پرتاب شود پیکربندی.

نتیجه گیری

بنابراین ما نحوه استفاده از ابزار خط فرمان قابل پاسخ -لینت

را ببینید همچنین: