Ansible 的 import_tasks 和 include_tasks 总结

前几天在写 ansbile 的 roles 的时候,定义了一些 tag,但是在使用 ansible-playbook nginx.yml --list-tags 的时候始终不显示我定义的 tag,后来查阅发现原来是 include_tasks 搞的鬼,这里简单总结一下:

  • import_tasks: 静态加载,也就是 playbook 在运行一开始解析的时候,加载子任务中全部变量。

  • include_tasks: 动态加载,就是在执行到该子任务的时候,才会加载该子任务中全部变量。

  • import_tasks 调用的子任务文件名称也就不可以使用变量,但是 include_tasks 调用的子任务名称则可以加变量。

  • import_tasks 会调用子任务中的所有 tag,使用 –list-tags 参数时也能看到,但是 include_tasks 调用的子任务中如果定义了tag,则不会生效。

参考:https://docs.ansible.com/ansible/2.6/user_guide/playbooks_tags.html

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章