使用Ansible停止基于环境的Tomcat服务
我正在编写ansible脚本来停止远程主机上的tomcat服务 我们有不同的环境,其中一个环境的服务名称不同,其余环境的服务名称相同 下面是我正在使用的任务使用Ansible停止基于环境的Tomcat服务,ansible,Ansible,我正在编写ansible脚本来停止远程主机上的tomcat服务 我们有不同的环境,其中一个环境的服务名称不同,其余环境的服务名称相同 下面是我正在使用的任务 - name: stop WEB service win_service: name: "{{ item }}" state: stopped loop: "{{ web_service }}" 群变量 web_service: - 'Tomcat9.0
- name: stop WEB service
win_service:
name: "{{ item }}"
state: stopped
loop: "{{ web_service }}"
群变量
web_service:
- 'Tomcat9.0.45'
在一个环境中,服务名称为Tomcat9.0.45,而在另一个环境中,服务名称为Tomcat9
有谁能帮助我根据环境更新任务以停止服务吗?有几种方法可以解决这个问题。一个稳健的选择是向每个具有相关版本的组/主机添加一个变量。例如,在相关组/主机上配置:
tomcat_version: 9.0.45
在第二组/主机上:
tomcat_version: 9
在您的任务中,您根本不需要循环
- name: stop WEB service
win_service:
name: "Tomcat{{ tomcat_version }}"
state: stopped
这样,每个组/主机都有自己的版本。将来也更容易改变(想想如果明天,你会有9.0.60?谢谢陈A