bcm*_*cfc 13 ansible ansible-playbook
我在一本ansible剧本中有一个命令:
- name: extract the tarball
command: tar --ignore-command-error -xvkf release.tar
Run Code Online (Sandbox Code Playgroud)
预计有些文件不会被提取,因为它们已经存在(-k标记).
但是,由于tar提取有错误代码,因此会导致整个playbook停止运行.
我该如何解决这个问题?如你所见,我试图--ignore-command-error无济于事.
ted*_*r42 32
你想使用这个ignore_errors参数:
- name: extract the tarball
command: tar --ignore-command-error -xvkf release.tar
ignore_errors: yes
Run Code Online (Sandbox Code Playgroud)
ignore_errors当你能以某种方式检测到成功时,效果最佳 - 你可以register输出并检查它,或者你可以creates用来寻找特定的文件名.
ignore_errors: yes仍会出现错误,显示提示中的失败任务.如果您希望该任务以静默方式失败,您可以设置failed_when: false或更复杂的条件,如手册中所述:
- name: this command prints FAILED when it fails
command: /usr/bin/example-command -x -y -z
register: command_result
failed_when: "'FAILED' in command_result.stderr"
Run Code Online (Sandbox Code Playgroud)
所以你可以搜索输出stderr.如果文件不可读,不存在或者其他什么,您可能仍然希望失败,但是当存档被破坏且无法提取时不会失败.
| 归档时间: |
|
| 查看次数: |
15837 次 |
| 最近记录: |