Check Mode (“Dry Run”)

优质
小牛编辑
132浏览
2023-12-01

New in version 1.1.

Topics

  • New in version 1.3.

    有时候你甚至会想在检测模式中执行一个任务.为了达到这样的效果, 你需要在相应的任务上使用 always_run 子句.跟 when 子句一样,它的值是一个 Jinja2 表达式. 在一个简单的例子中,布尔值也会表达为一个适当的 YAML 值.

    Example:

    tasks:
    
      - name: this task is run even in check mode
        command: /something/to/run --even-in-check-mode
        always_run: yes
    

    友情提示,带有 when 子句的任务会返回false,该任务将会被跳过,即使它还被添加了会返回true的 always_run 子句.

    Showing Differences with --diff

    New in version 1.1: 对 ansible-playbook 来说 --diff 选项与 --check (详情参下)配合使用效果奇佳,不过它也可以单独使用.当提供了相应的标识后,当远程系统上任何模板文件的变化时,ansible-playbook CLI 将会报告文件上任何文本的变化 (或者,如果使用了 --check 参数,将报告会发生的变化.).因为 diff 特性会产生大量的输出结果,所以它在一次检测一个主机时使用为佳,如:

    ansible-playbook foo.yml --check --diff --limit foo.example.com