Au fil des flows

27fév/157

Voir les logs d’ansible en continue sur Jenkins

Posted by Fabien Arcellier

Ansible vous permet de déployer élégamment votre infrastructure. Le déploiement d'un groupe de serveur prédictif d'un groupe de serveurs en une commande change la vie au quotidien.

Dans ce contexte, il est intéressant de pouvoir exécuter vos scripts ansible en un clique de souris. Jenkins permet de faire ça très simplement.

Voici la commande que j'ai tapé initialement :

ansible-playbook -i ansible/recette ansible/tomcat.yml

Problème : les logs de Ansible s'affichent à la fin de l'exécution. Pendant l'exécution de Jenkins, vous ne pouvez pas savoir à quelle étape vous en êtes.

Solution : Ansible est un programme python. Par défaut la sortie est bufferisée.
Pour la rendre non bufferisée, vous pouvez utiliser la variable d'environnemnent PYTHONUNBUFFERED.

export PYTHONUNBUFFERED=1
ansible-playbook -i ansible/recette ansible/tomcat.yml

Cet variable est l'équivalent d'invoquer python -u.

Remplis sous: Non classé 7 Commentaires