===== Ansible Galaxy =====
сли вы захотите использовать роль, написанную кем-то другим, или просто посмотреть, как кто-то решил похожую задачу, вам поможет Ansible Galaxy. Это хранилище ролей Ansible с открытым исходным кодом, пополняемое членами сообщества Ansible. Сами роли хранятся на GitHub.
Давайте познакомимся с инструментом ansible-galaxy. Проведём поиск по Galaxy и выберем подходящую роль из списка:
ansible-galaxy search "PHP for RedHat/CentOS/Fedora/Debian/Ubuntu"
Команда поиска выведет нечто подобное:
werwolf@werwolf-System-Product-Name:~$ ansible-galaxy search php
Found 631 roles matching your search:
Name Description
---- -----------
0ta2.php_role Setup PHP
tenequm.php PHP installation role.
aadl.docker-php-fpm-alpine Ansible role to manage and run the alpine php docker container.
aaronpederson.ansible-php7 PHP 7 is the latest version of general-purpose scripting language that is popular in web development.
aaronpederson.php PHP is a popular general-purpose scripting language that is popular in web development.
infOpen.phpmyadmin install phpmyadmin package
adarnimrod.mod-php Provision PHP application server using Apache with mod-php
adarnimrod.mod-php7 Provision PHP7 application server using Apache with mod-php7
adarnimrod.php5 Install PHP5 (cli, not mod-php nor fpm)
adarnimrod.php7 Install PHP7 (cli, not mod-php nor fpm)
adarnimrod.php7-fpm Provision PHP7 FastCGI (FPM)
adarnimrod.php-fpm Provision PHP FastCGI (FPM)
adfinis-sygroup.php_fpm This role is used to install and configure php-fpm on CentOS
AerisCloud.php Installs PHP on a server
A-j-K.php-install Deploys PHP 7.1 CLI
Akellacom.role-telesales-phpmyadmin Install phpMyAdmin in directory /var/www/phpmyadmin
Akman.php_mcrypt mCrypt package for php on Linux
AlbanAndrieu.phpvirtualbox A role for installing phpvirtualbox
Предположим, мы выбрали роль aaronpederson.ansible-php7 Чтобы загрузить её в наш плейбук, используем команду ansible-galaxy install:
ansible-galaxy install geerlingguy.php
Предположим, мы выбрали роль geerlingguy.php. Чтобы загрузить её в наш плейбук, используем команду ansible-galaxy install:
werwolf@werwolf-System-Product-Name:~$ ansible-galaxy install geerlingguy.php
Starting galaxy role install process
- downloading role 'php', owned by geerlingguy
- downloading role from https://github.com/geerlingguy/ansible-role-php/archive/5.0.1.tar.gz
- extracting geerlingguy.php to /home/werwolf/.ansible/roles/geerlingguy.php
- geerlingguy.php (5.0.1) was installed successfully
Теперь можем добавить роль в файл playbook.yml:
---
- name: All configs
hosts: cluster
roles:
- preconfig
- deploy
- geerlingguy.php
vars:
- doc_root: /var/www/example
- php_default_version_debian: "7.2"