相关疑难解决方法(0)

字符串不匹配时的Ansible条件

我正在尝试编写一个只能编译Nginx的Ansible剧本,如果它还没有出现并且在当前版本中.然而,它每次编译都是不可取的.

这就是我所拥有的:

- shell: /usr/local/nginx/sbin/nginx -v 2>&1
  register: nginxVersion
- debug:
  var=nginxVersion

- name: install nginx
  shell: /var/local/ansible/nginx/makenginx.sh
  when: "not nginxVersion == 'nginx version: nginx/1.8.0'"
  become: yes
Run Code Online (Sandbox Code Playgroud)

该脚本除了每次运行shell脚本以编译Nginx之外都是有效的.nginxVersion的调试输出是:

ok: [server] => {
    "var": {
        "nginxVersion": {
            "changed": true,
            "cmd": "/usr/local/nginx/sbin/nginx -v 2>&1",
            "delta": "0:00:00.003752",
            "end": "2015-09-25 16:45:26.500409",
            "invocation": {
                "module_args": "/usr/local/nginx/sbin/nginx -v 2>&1",
                "module_name": "shell"
            },
            "rc": 0,
            "start": "2015-09-25 16:45:26.496657",
            "stderr": "",
            "stdout": "nginx version: nginx/1.8.0",
            "stdout_lines": [
                "nginx version: nginx/1.8.0"
            ],
            "warnings": []
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

根据文档我在正确的方面,我错过了什么简单的技巧?

ansible ansible-playbook

28
推荐指数
2
解决办法
6万
查看次数

标签 统计

ansible ×1

ansible-playbook ×1