我正在编写几本Ansible的剧本,以创建一个新的服务器实例。我需要按特定顺序运行大约15本不同的剧本,才能成功地拆分服务器。
我最初的想法是编写一个执行ansible-playbook playbook_name.yml
的shell脚本,并为我需要运行的每个剧本复制一个条目。
是否有一个更聪明/更好的方法来做到这一点,使用一个主游戏手册,如果是的话,它会是什么样子(例子是欣赏的)。
我可以写一本完整的剧本来完成这一切,但是有一些剧本先以root的形式运行,然后作为sudo用户运行。
发布于 2016-02-09 23:15:15
构建许多子剧本,并通过包含语句进行聚合。
- include: playbook-one.yml
- include: playbook-two.yml
如果您的剧本必须按顺序运行,并且如果所有这些都是强制性的,则构建一个主剧本并包含带有任务的文件。剧本应该永远是一个封闭的过程。
发布于 2018-05-26 17:08:49
对于较新版本的Ansible,您可以构建许多子剧本并通过import_playbook语句进行聚合:
---
- import_playbook: A-systemd-networkd.yml
- import_playbook: B-fail2ban-ssh.yml
- import_playbook: C-enable-watchdog.yml
发布于 2021-01-04 17:11:18
来自:https://docs.ansible.com/ansible/latest/collections/ansible/builtin/import_剧本_module.html
- hosts: localhost
tasks:
- debug:
msg: play1
- name: Include a play after another play
import_playbook: otherplays.yaml
https://serverfault.com/questions/750856
复制相似问题