Запуск нескольких плейбуков Ansible одним пакетом
Для запуска нескольких плейбуков Ansible одним пакетом можно использовать следующие подходы:
1. Использование ansible-playbook
с перечислением плейбуков:
Вы можете указать сразу несколько плейбуков в одной команде через пробел:
1 2 |
ansible-playbook playbook1.yml playbook2.yml playbook3.yml |
В этом случае Ansible выполнит каждый плейбук по порядку.
2. Создание мастер-плейбука:
Создайте один плейбук, который будет включать другие плейбуки с помощью директивы include_tasks
или import_playbook
:
1 2 3 4 5 |
# master_playbook.yml - import_playbook: playbook1.yml - import_playbook: playbook2.yml - import_playbook: playbook3.yml |
Затем запустите мастер-плейбук:
1 2 |
ansible-playbook master_playbook.yml |
3. Использование скрипта для запуска:
Можно написать простой скрипт (например, на Bash), который будет запускать плейбуки последовательно:
1 2 3 4 5 6 7 |
# run_playbooks.sh #!/bin/bash ansible-playbook playbook1.yml ansible-playbook playbook2.yml ansible-playbook playbook3.yml |
Затем выполните скрипт:
1 2 |
bash run_playbooks.sh |
4. Запуск с помощью тега --start-at-task
:
Если плейбуки логически связаны и нужно запустить с определенного места, можно использовать опцию --start-at-task
для запуска с нужной задачи. Однако, это работает для задач внутри одного плейбука и не объединяет несколько плейбуков.
5. Использование ansible-runner
:
ansible-runner
позволяет запускать Ansible с различными конфигурациями и может быть полезен для сложных сценариев CI/CD:
1 2 3 4 |
ansible-runner run . -p playbook1.yml ansible-runner run . -p playbook2.yml ansible-runner run . -p playbook3.yml |
6. Использование Makefile
:
Можно использовать Makefile для более управляемого запуска:
1 2 3 4 5 6 7 8 9 10 11 12 |
# Makefile run: playbook1 playbook2 playbook3 playbook1: ansible-playbook playbook1.yml playbook2: ansible-playbook playbook2.yml playbook3: ansible-playbook playbook3.yml |
Запуск через команду make run
:
1 2 |
make run |
Эти методы позволяют гибко запускать несколько плейбуков и управлять их выполнением в нужной последовательности.
Recommended Posts
Плейбук Ansible по развертыванию haproxy
15.02.2024