nul*_*tek 27 ansible ansible-playbook
我正在编写几个 Ansible 剧本来启动一个新的服务器实例。我需要按特定顺序运行大约 15 个不同的剧本才能成功启动服务器。
我最初的想法是编写一个 shell 脚本,该脚本执行ansible-playbook playbook_name.yml
并为我需要运行的每个剧本复制一个条目。
有没有更聪明/更好的方法来使用主剧本来做到这一点,如果是这样,它会是什么样子(示例值得赞赏)。
我可以编写一个完整的剧本来完成所有工作,但有些剧本首先以 root 身份运行,然后以 sudo 用户身份运行。
小智 26
构建许多子剧本并通过 include 语句聚合它们。
- include: playbook-one.yml
- include: playbook-two.yml
Run Code Online (Sandbox Code Playgroud)
如果您的剧本必须按顺序运行并且所有这些都是强制性的,请构建一个主剧本并包含带有任务的文件。剧本应该始终是一个封闭的过程。
Pet*_*nna 25
对于较新版本的 Ansible,您可以构建许多子剧本并通过 import_playbook 语句聚合它们:
---
- import_playbook: A-systemd-networkd.yml
- import_playbook: B-fail2ban-ssh.yml
- import_playbook: C-enable-watchdog.yml
Run Code Online (Sandbox Code Playgroud)
小智 5
来自:https://docs.ansible.com/ansible/latest/collections/ansible/builtin/import_playbook_module.html
- hosts: localhost
tasks:
- debug:
msg: play1
- name: Include a play after another play
import_playbook: otherplays.yaml
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
49566 次 |
最近记录: |