- مجموعهای از role های آماده شده توسط کاربران، درون مخزنی با نام Ansible Galaxy قرار گرفته است.
- آدرس این مخزن به شرح زیر است :
https://galaxy.ansible.com/home
- همچنین به منظور جست و جو در داخل مخزن میتوان از پارامتر search به صورت زیر استفاده نمود :
# ansible-galaxy search httpd
- در نهایت به منظور دریافت و استفاده از یک role از داخل مخزن به شکل زیر عمل کنید :
# ansible-galaxy install adfinis-sygroup.apache
- به صورت پیشفرض محل قرارگیری role های دانلود شده، مسیر زیر میباشد :
/root/.ansible/roles/
- بعد از نصب و قرار گرفتن role در مسیر بالا، میتوان از آن در داخل PlayBook ها استفاده نمود.
- به عنوان مثال PlayBook زیر را در نظر بگیرید :
--- - hosts: centos-server roles: - adfinis-sygroup.apache
- نکته: امکان استفاده از چندین role وجود دارد. به عنوان مثال میتوان در خط پنجم از مثال بالا نام دیگر role ها را نیز وارد کرد.
- در نهایت کافیست PlayBook بالا را همانند گذشته به شکل زیر اجرا کنیم :
# ansible-playbook playbook.yaml
- برای مشاهدهی role های موجود و نصب شده بر روی سیستم از پارامتر list به صورت زیر استفاده کنید :
# ansible-galaxy list
- برای مشاهدهی اطلاعات بیشتر در خصوص یک role خاص به صورت زیر عمل کنید :
# ansible-galaxy info supertarto.apache Role: supertarto.apache description: Install and configure apache2 with ansible active: True commit: c452a840ac529efdf07662ffcf9e08976339df5b commit_message: Update main.yml commit_url: https://api.github.com/repos/supertarto/ansible-apache/git/commits/c452a840ac529efdf07662ffcf9e08976339df5b company: created: 2019-11-14T15:49:28.545890Z dependencies: [] download_count: 151 forks_count: 0 galaxy_info: author: Xavier Binois galaxy_tags: ['webserver', 'apache', 'httpd', 'web'] license: GNU General Public License v3.0 min_ansible_version: 2.8 platforms: [{'name': 'Debian', 'versions': ['stretch', 'buster']}] role_name: apache github_branch: master github_repo: ansible-apache github_server: https://github.com github_user: supertarto id: 44624 imported: 2020-03-18T06:29:27.270059-04:00 install_date: Sat Mar 21 16:38:04 2020 intalled_version: v1.0.1 is_valid: True issue_tracker_url: https://github.com/supertarto/ansible-apache/issues license: GNU General Public License v3.0 min_ansible_version: 2.8 modified: 2020-03-18T10:29:27.281024Z open_issues_count: 1 path: [u'/root/.ansible/roles', u'/usr/share/ansible/roles', u'/etc/ansible/roles'] role_type: ANS stargazers_count: 0 travis_status_url: https://travis-ci.org/supertarto/ansible-apache.svg?branch=master
- نکته: نام supertarto.apache مثال بوده و باید تغییر یابد.
- به منظور حذف یک role خاص از روی سیستم از پارامتر remove به شکل زیر استفاده کنید :
# ansible-galaxy remove supertarto.apache
- در صورتی که دستور بالا به صورت موفقیت آمیز اجرا شده باشد، خروجیای مشابه زیر دریافت خواهید کرد :
- successfully removed supertarto.apache
- به منظور مطالعهی بیشتر لینک زیر پیشنهاد میشود :
https://docs.ansible.com/ansible/latest/cli/ansible-galaxy.html
- آزمایش شده بر روی Ansible نسخهی 2.5.1
- آزمایش شده بر روی سیستم عامل Ubuntu 18.04