में रिटर्न कोड का मूल्यांकन करना मैं एक कार्य को स्वचालित करने पर काम कर रहा हूं जिसे सॉफ़्टवेयर के नवीनतम संस्करण को फ़ाइल में जोड़ना आवश्यक है। मैं इसे एक ही संस्करण के लिए कई बार नहीं करना चाहता हूं।उत्तरदायी सशर्त
यह निम्न उदाहरण फ़ाइल पर लग रहा है:
var software releases = new Array(
"4.3.0",
"4.4.0",
"4.5.0",
"4.7.0",
"4.8.0",
"4.11.0",
"4.12.1",
"4.14.0",
"4.15.0",
"4.16.0",
);
चूक main.yml तरह
VERSION: 4.16.2
कोड
- name: register version check
shell: cat /root/versions.js | grep -q {{VERSION}}
register: current_version
- debug: msg="The registered variable output is {{ current_version.rc }}"
- name: append to versions.js
lineinfile:
dest: /root/versions.js
regexp: '^\);'
insertbefore: '^#\);'
line: " \"{{VERSION}}\",\n);"
owner: root
state: present
when: current_version.rc == 1
समस्या कुछ में पारित होगा: डीबग संदेश है current_version.rc का मूल्यांकन करना और grep कमांड आउटपुट के आधार पर मुझे बूलियन मान दिखा रहा है, लेकिन मैं फिर से नहीं कर सकता यह निर्धारित करने के लिए कि क्या कार्य चलाना चाहिए, when
सशर्त में इसका उपयोग करें।
संपादित करें: उत्पादन:
PLAY [localhost] **************************************************************
GATHERING FACTS ***************************************************************
ok: [localhost]
TASK: [test | register version check] *****************************************
failed: [localhost] => {"changed": true, "cmd": "cat /root/versions.js | grep -q 3.19.2", "delta": "0:00:00.003570", "end": "2015-12-17 00:24:49.729078", "rc": 1, "start": "2015-12-17 00:24:49.725508", "warnings": []}
FATAL: all hosts have already failed -- aborting
PLAY RECAP ********************************************************************
to retry, use: --limit @/root/site.retry
localhost : ok=1 changed=0 unreachable=0 failed=1
आप खेलने के उत्पादन में पोस्ट कर सकते हैं? – ydaetskcoR
आप कब कथन प्राप्त नहीं कर रहे हैं, क्योंकि रिटर्न कोड 1 है। 'Ignore_errors: True' जोड़ें। – nikobelia
निकोबेलिया - इससे मेरी समस्या हल हो गई! इसका जवाब देने में संकोच न करें, इसलिए यदि आप चाहें तो मैं इसे चिह्नित कर सकता हूं। धन्यवाद। – Bryan