What is ansible-galaxy in ansible


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

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *