Ansible 根据命令模块的退出状态有条件地执行playbook?

Ansible 根据命令模块的退出状态有条件地执行playbook?,ansible,ansible-playbook,Ansible,Ansible Playbook,我正在尝试编写一个剧本,只有在主机上安装了某个包的情况下才能执行某些任务 是否可以注册命令模块的输出并根据命令的退出状态运行任务 大概是这样的: 您走的是正确的道路。如果httpd不存在,则playbook执行将失败。您可以使用继续执行,然后根据httpd_结果的返回代码运行后续任务。我举了一个例子: - hosts: localhost tasks: - command: "which httpd" register: httpd_result igno

我正在尝试编写一个剧本,只有在主机上安装了某个包的情况下才能执行某些任务

是否可以注册命令模块的输出并根据命令的退出状态运行任务

大概是这样的:

您走的是正确的道路。如果httpd不存在,则playbook执行将失败。您可以使用继续执行,然后根据httpd_结果的返回代码运行后续任务。我举了一个例子:

-  hosts: localhost
   tasks:
    - command: "which httpd"
      register: httpd_result
      ignore_errors: true
    - debug: msg="found http"
      when: httpd_result.rc == 0
    - debug: msg="not found httpd"
      when: httpd_result.rc!=0
在这里,您可以放置需要运行的任何条件任务,而不是调试语句。希望这有帮助