↓Перейти к основному содержимому

Курс Ansible - урок 8 - Улучшаем плейбук

·345 слов·2 минут
Андрей Двуреченский
Автор
Андрей Двуреченский
Вводный курс Ansible - This article is part of a series.
Part 8: This Article

Курс Ansible - урок 8 - Улучшаем плейбук
#

Ansible — это невероятная утилита для управления конфигурацией и подготовки к работе, которая позволяет автоматизировать все процессы. В этой серии вы узнаете всё, что нужно знать, чтобы использовать Ansible для повседневных административных задач. В видео № 8 мы рассмотрим несколько способов очистки и объединения плейбуков, с которыми мы работали до сих пор.

install_apache.yml (предыдущая версия)
#

 ---
 
 - hosts: all
   become: true
   tasks:
 
   - name: update repository index for Ubuntu
     apt:
       update_cache: yes
     when: ansible_distribution == "Ubuntu"
 
   - name: install apache2 package for Ubuntu
     apt:
       name: apache2
       state: latest
     when: ansible_distribution == "Ubuntu"
 
   - name: add php support for apache for Ubuntu
     apt:
       name: libapache2-mod-php for CentOS
       state: latest
     when: ansible_distribution == "Ubuntu"
 
   - name: update repository index for CentOS
     dnf:
       update_cache: yes
     when: ansible_distribution == "CentOS"
 
   - name: install httpd package for CentOS
     dnf:
       name: httpd
       state: latest
     when: ansible_distribution == "CentOS"
 
   - name: add php support for apache for CentOS
     dnf:
       name: php
       state: latest
     when: ansible_distribution == "CentOS"

install_apache.yml (сокращенный)
#

 ---
 
 - hosts: all
   become: true
   tasks:
 
   - name: update repository index
     apt:
       update_cache: yes
     when: ansible_distribution == "Ubuntu"
 
   - name: install apache2 and php packages for Ubuntu
     apt:
       name:
         - apache2
         - libapache2-mod-php
       state: latest
     when: ansible_distribution == "Ubuntu"
 
   - name: update repository index
     dnf:
       update_cache: yes
     when: ansible_distribution == "CentOS"
 
   - name: install apache and php packages for CentOS
     dnf:
       name:
         - httpd
         - php
       state: latest
     when: ansible_distribution == "CentOS"

install_apache.yml (далее сокращенный)
#

 ---
 
 - hosts: all
   become: true
   tasks:
 
   - name: install apache2 package
     apt:
       name:
         - apache2
         - libapache2-mod-php
       state: latest
       update_cache: yes
     when: ansible_distribution == "Ubuntu"
 
   - name: install httpd package
     dnf:
       name:
         - httpd
         - php
       state: latest
       update_cache: yes
     when: ansible_distribution == "CentOS"

install_apache.yml (еще более сокращенный)
#

 ---
 
 - hosts: all
   become: true
   tasks:
 
   - name: install apache and php
     package:
       name:
         - "Template:Apache package"
         - "Template:Php package"
       state: latest
       update_cache: yes

файл инвентаризации (с добавлением переменных хоста)
#

172.16.250.132 apache_package=apache2 php_package=libapache2-mod-php
172.16.250.133 apache_package=apache2 php_package=libapache2-mod-php
172.16.250.134 apache_package=apache2 php_package=libapache2-mod-php
172.16.250.248 apache_package=httpd php_package=php_package

Оригинал

Вводный курс Ansible - This article is part of a series.
Part 8: This Article