我有类似的东西:
...
- name: Include TEST ENV tasks
include: test_env.yml
when: test_env
tags:
- test
...
作为角色的一部分。
问题是它的表现并不像我预期的那样。也就是说,只有当 test_env == True 时才会发生包含。
问题是,包含内容始终会被执行,但包含的任务会被跳过 - 这是没有意义的(我还需要它什么其他原因?)并且输出会变得很长。
我是否做错了什么或者误用了包含语句?
答案1
这就是它应该如何工作的。这include
是一个特殊语句,而不是模块,无论如何都会执行。when
将添加到每个任务中。我知道这很奇怪。
查看include 语句。
(“when”为主机提供了有条件跳过任务的能力)。