Я работаю над несколькими сценариями 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