使用标签和条件检查来公开不同的功能。首先,在角色目录下,创建一个或多个包含要公开的特定功能的任务文件,然后使用标签来定义功能。接下来,在main.yml任务文件中使用条件检查语句来选择要包含的任务文件并应用相应的标签。示例代码如下:
name: Include web server tasks include_tasks: web_server.yml when: inventory_hostname in groups['webservers'] tags: web_server
name: Include database server tasks include_tasks: database_server.yml when: inventory_hostname in groups['databases'] tags: database_server
然后可以使用命令行选项来选择要执行的标签,如下所示:
ansible-playbook site.yml --tags "web_server"
这将只执行具有“web_server”标识的任务,即web服务器任务文件。
这种方法允许角色公开多个不同的功能,同时使用户能够选择要应用的功能。