Назад | Перейти на главную страницу

Как запустить несколько пьес по порядку с помощью Ansible?

Я работаю над несколькими сценариями Ansible, чтобы запустить новый экземпляр сервера. Есть примерно 15 различных сценариев, которые мне нужно запустить в определенном порядке, чтобы успешно запустить сервер.

Моей первоначальной мыслью было написать сценарий оболочки, который выполняет ansible-playbook playbook_name.yml и продублируйте его по одной записи для каждого плейбука, который мне нужно запустить.

Есть ли более умный / лучший способ сделать это с помощью основного учебника, и если да, то как он будет выглядеть (примеры приветствуются).

Я мог бы написать одну монолитную пьесу, которая делает все это, но есть некоторые игры, которые запускаются сначала как root, а затем как пользователь sudo.

Создайте множество вспомогательных сценариев и объедините их с помощью операторов include.

- include: playbook-one.yml
- include: playbook-two.yml

Если ваши playbook должны запускаться по порядку и если все они обязательны, создайте основную playbook и включите файлы с задачами. Playbook всегда должен быть закрытым процессом.

Для более новых версий Ansible вы можете создать множество вспомогательных книг и объединить их с помощью операторов import_playbook:

---
- import_playbook: A-systemd-networkd.yml
- import_playbook: B-fail2ban-ssh.yml
- import_playbook: C-enable-watchdog.yml