مقدمه
کسانی که در لایه Platform شرکت های IT قرار دارند، با نرم افزارهای automation آشنایی دارند. ansible یک ابزار automation برای manage کردن زیرساخت هایی با تعداد موارد مشابه بالاست (environment مشابه). مدل های زیادی برای setup کردن این نرم افزار بسیار قدرتمند وجود دارد. در این مقاله می خواهیم کوتاه و مختصر اجرای آن با virtualenv پایتون را شرح دهیم.
برای نصب، اگر لینوکسی هستید می توانید با package manager های خود لینوکس می توانید آن را نصب کنید:
Debian/Ubuntu
$ sudo apt install python3-pip
$ pip install virtualenv
RHEL/CentOS
$ sudo yum install python3-pip
$ pip install virtualenv
پس از نصب برای اجرای آن با دستور زیر می توان، نسخه پایتون خود را به صورت isolate در پوشه خود اجرا کنید:
$ virtualenv <folder name> -p <python version>
در جایگاه <folder name> نام پوشه ای را که می خواهید compiler در آن قرار بگیرد خواهید نوشد.
در جایگاه <python version> نام نسخه ای از پایتون که می خواهید با آن کار کنید را خواهید نوشد.
برای مثال:
$ virtualenv venv -p python3.8
پس از ایجاد پوشه venv کامپایلر شما حاضر است. برای استفاده از آن از دستور زیر استفاده می کنیم:
$ source venv/bin/activate
حال شما در حال استفاده از پایتون نسخه ٣.٨ می باشید و هر moduleــی که با pip نصب خواهید کرد در آن پوشه قرار خواهد گرفت.
برای نصب ansible از package manager خود پایتون استفاده می کنیم. با دستور زیر، ansible نسخه مورد نظر خود را نصب می کنیم:
(venv)$ pip install ansible==2.10
تبریک شما ansible خود را نصب نمودید. :)
اما دلیل این کار چیست؟ شما با این روش می توانید cross platform در محیط های مختلف یا host های متفاوت، دقیقا همین ansible را استفاده کنید و تمامی playbook ها و role هایی که خواهید نوشت را صرفا با یک کپی ساده داشته باشید. با freeze کردن package ها توسط خود pip، تنها یک requirement.txt و playbook های خود را حمل خواهید کرد.
برای مطلاعه بیشتر این نرم افزار می توانید به سایت خود ansible مراجعه نمایید.
امیدوارم این مطلب مفید واقع شده باشد و با نظرهاتون خوشحال میشم به بهتر شدن مطلب کمک کنید.