Tôi đang cố gắng viết một Playbook Ansible chỉ biên dịch Nginx nếu nó chưa có và ở phiên bản hiện tại. Tuy nhiên, nó biên dịch mọi lúc không mong muốn.Điều kiện an toàn khi chuỗi không khớp với
Đây là những gì tôi có:
- 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
Các kịch bản tất cả các công trình ngoài thực tế là nó chạy shell script mỗi khi biên dịch Nginx. Đầu ra gỡ lỗi cho nginxVersion là:
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": []
}
}
}
Theo tài liệu hướng dẫn Tôi đang đi đúng dòng, tôi đang thiếu những mẹo đơn giản nào?
Vâng đó chỉ là quá dễ dàng. Tùy chọn thứ 2 hoạt động. –