сли вы захотите использовать роль, написанную кем-то другим, или просто посмотреть, как кто-то решил похожую задачу, вам поможет 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"