Ansible - 包含语句

Ansible - 包含语句

我有类似的东西:

  ...
  - name: Include TEST ENV tasks
    include: test_env.yml
    when: test_env
    tags:
      - test
  ...

作为角色的一部分。

问题是它的表现并不像我预期的那样。也就是说,只有当 test_env == True 时才会发生包含。

问题是,包含内容始终会被执行,但包含的任务会被跳过 - 这是没有意义的(我还需要它什么其他原因?)并且输出会变得很长。

我是否做错了什么或者误用了包含语句?

答案1

这就是它应该如何工作的。这include是一个特殊语句,而不是模块,无论如何都会执行。when将添加到每个任务中。我知道这很奇怪。

查看include 语句

(“when”为主机提供了有条件跳过任务的能力)。

相关内容