32c*_*upo 18 plugins output ansible
例如,我有Ansible角色
---
- name: Deploy app1
include: deploy-app1.yml
when: 'deploy_project == "{{app1}}"'
- name: Deploy app2
include: deploy-app2.yml
when: 'deploy_project == "{{app2}}"'
Run Code Online (Sandbox Code Playgroud)
但我只在一个角色调用中部署了一个应用程序.当我部署多个应用程序时,我多次调用角色.但每次都有很多skipped tasks output(来自不通过条件的任务),我不想看到.我怎么能避免呢?
Oma*_*r E 18
我假设你不想在运行Ansible时看到输出中跳过的任务.
在ansible.cfg文件中将此值设置为false.
display_skipped_hosts = false
Run Code Online (Sandbox Code Playgroud)
注意.它仍然会输出任务的名称,虽然它不会再显示"跳过".
更新:通过您需要确保ansible.cfg在当前工作目录中的方式.
取自ansible.cfg文件.
ansible将读取当前工作目录中的ANSIBLE_CONFIG,ansible.cfg,主目录中的.ansible.cfg或/etc/ansible/ansible.cfg,无论它首先找到哪个.
因此,请确保设置display_skipped_hosts = false正确的ansible.cfg文件.
让我知道你怎样去
yda*_*coR 10
Ansible允许您使用自定义回调控制其输出.
在这种情况下,您可以简单地使用不会在跳过的任务上输出任何内容的skippy回调.
小智 10
从ansible 2.4开始,添加了一个回调插件名称full_skip,以禁止跳过任务名称并跳过ansible输出中的关键字.您可以尝试以下ansible配置:
[defaults]
stdout_callback = full_skip
Run Code Online (Sandbox Code Playgroud)