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
在这里,您可以放置需要运行的任何条件任务,而不是调试语句。希望这有帮助