J'ai un rôle Ansible, par exemple
---
- name: Deploy app1
include: deploy-app1.yml
when: 'deploy_project == "{{app1}}"'
- name: Deploy app2
include: deploy-app2.yml
when: 'deploy_project == "{{app2}}"'
Mais je ne déploie qu'une seule application dans un appel de rôle. Lorsque je déploie plusieurs applications, j'appelle le rôle plusieurs fois. Mais à chaque fois, il y a beaucoup de skipped tasks output
(de tâches qui ne passent pas condition), que je ne veux pas voir. Comment puis-je l'éviter?
Je suppose que vous ne voulez pas voir les tâches ignorées dans la sortie lors de l'exécution de Ansible.
Définissez la valeur false dans le fichier ansible.cfg.
display_skipped_hosts = false
Remarque. Il affichera toujours le nom de la tâche bien qu’il n’affiche plus "ignoré".
UPDATE: vous devez vous assurer que ansible.cfg se trouve bien dans le répertoire de travail actuel.
Extrait du fichier ansible.cfg.
ansible lira ANSIBLE_CONFIG, ansible.cfg dans le répertoire de travail actuel, .ansible.cfg dans le répertoire personnel ou /etc/ansible/ansible.cfg, quel qu’il soit trouve en premier.
Assurez-vous donc que vous définissez display_skipped_hosts = false
dans le fichier ansible.cfg approprié.
Laissez-moi savoir comment vous allez
Depuis ansible 2.4, un nom de plug-in de rappel full_skip a été ajouté pour supprimer le saut de noms de tâches et le mot-clé dans la sortie ansible. Vous pouvez essayer la configuration ci-dessous:
[defaults]
stdout_callback = full_skip
Si cela ne vous dérange pas de perdre des couleurs, vous pouvez éviter les tâches ignorées en lançant la sortie dans sed:
ansible-playbook whatever.yml | sed -nr '/^TASK/{h;n;/^skipping:/{n;b};H;x};p'