【问题标题】:Stop Tomcat Service based on environment using Ansible使用 Ansible 根据环境停止 Tomcat 服务
【发布时间】:2021-06-01 05:43:37
【问题描述】:

我正在编写 ansible 脚本来停止远程主机上的 tomcat 服务

我们有不同的环境,其中一个环境的服务名称不同,其余环境相同

下面是我正在使用的任务

- name: stop WEB service
    win_service:
      name: "{{ item }}"
      state: stopped
    loop: "{{ web_service }}"

组变量

web_service:
  - 'Tomcat9.0.45'

在一个环境中,服务名称为 Tomcat9.0.45,其余环境为 Tomcat9

谁能帮我根据环境更新任务以停止服务?

【问题讨论】:

    标签: ansible


    【解决方案1】:

    有几种方法可以解决这个问题。一个可靠的选择是向每个组/主机添加一个变量,并使用相关版本。例如,在相关组/主机上配置:

    tomcat_version: 9.0.45
    

    在第二组/主机上:

    tomcat_version: 9
    

    在你的任务中,你根本不需要循环

    - name: stop WEB service
      win_service:
        name: "Tomcat{{ tomcat_version }}"
        state: stopped
    

    这样,每个组/主机都有自己的版本。未来也更容易改变(想想如果明天,你会有 9.0.60?)

    【讨论】:

    • 谢谢陈A
    猜你喜欢
    • 2020-10-11
    • 1970-01-01
    • 1970-01-01
    • 2011-11-22
    • 2018-01-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多