我需要更改服务的配置文件。必须在停止此服务的情况下完成此更改。 我可以这样做:
- name: stop service
service:
name: my_service
state: stopped
- name: change config
copy:
src: my_config
dest: /etc/my_service/my_config
- name: start service
service:
name: my_service
status: started
这个问题是,my_service
在任何情况下都会停止,即使copy
任务没有“更改”任何内容。
当'change config'有changed: true
时,如何告诉ansible只运行'停止服务'?
答案 0 :(得分:1)
您可以复制“更改配置”任务并首先使用check_mode: yes
选项运行它,注册结果然后根据结果运行(或不运行)具有条件的所有三个任务,例如在块中