- مجموعهای از 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