Я пытаюсь настроить систему с несколькими ролями (например, веб-сервер, сервер базы данных, почтовый сервер и т. Д.)
Каждая из ролей требует установки некоторых программных пакетов, определенных как их собственная задача в main.yml
для каждой роли.
Делает анзибль есть способ обнаружить (или явно указать это в задаче), что в определенной игре будет несколько установок пакетов, и разрешить их группировать вместе и пропустить последующие шаги установки?
Можно пометить задачи установки и установить пакеты в качестве 1-го шага:
ansible-playbook webserver.yml -t install_packages
ansible-playbook dbserver.yml -t install_packages
ansible-playbook mailserver.yml -t install_packages
Затем запустите спектакли:
ansible-playbook webserver.yml
ansible-playbook dbserver.yml
ansible-playbook mailserver.yml
Если вы хотите ускорить воспроизведение и условно пропустить установку, вы можете создать и установить переменную для этой цели (когда: skip_install).
ansible-playbook -e skip_install=True ...