我正在努力设计我的ansible剧本中的最佳实践。所以playbook文件本身如下:
- hosts: ...
roles:
- dbservers
- webservers
- ...
现在我要在check_proxy_and_firewalls
以及dbserers
角色中执行任务webservers
。
我如何正确地构建它?所有" best_practice"我发现似乎没有考虑这种情况。
我可以简单地添加一个文件common_tasks/check_proxy_and_firewalls.yml
并将其包含在我需要它的角色中。这是怎么做的?
答案 0 :(得分:0)
正如您所说,通过使用包含来重用其他剧本中的任务的正确方法。
假设您要在播放或剧本之间重复使用任务列表。您可以使用包含文件来执行此操作。使用包含的任务列表是定义系统将要实现的角色的好方法。
要包含文件,只需将其添加到您的剧本中:
- include: path/to/task.yml
构建角色很大程度上取决于您使用Ansible的目的。例如,我管理Windows和Linux服务器,因此我的角色结构如下:
roles
windows
<some_function>
tasks
vars
linux
<some_function>
tasks
vars
根据您对ansible的目标,您的情况会有所不同。