Sur mon tout machine de développement fonctionne très bien. Il est juste que quand Jenkins tente d'exécuter Playbooks qui sont associés à des fichiers chiffrés voûte, je vois l'erreur:Courir Playbooks Ansible Jenkins ne déchiffrage
ERROR! Decryption failed on /data/jenkins/workspace/.../secrets.yml
FATAL: command execution failed hudson.AbortException: Ansible playbook execution failed
La commande qui a été exécutée à partir du travail Jenkins est:
/usr/bin/ansible-playbook playbook.yml -i prod/inventory -l localhost -s -f 1 --vault-password-file /etc/ansible/vault_password
La voûte fichier de mot de passe est confirmé exister à l'endroit avec les autorisations suivantes:
-rw-r--r--. 1 root root 35 Dec 18 13:23 /etc/ansible/vault_password
Si je lance la même commande, mais demande un mot de passe (interactive), tout fonctionne bien. Ce n'est cependant pas le flux de travail souhaité: je voudrais que Jenkins exécute ces livrets tout seul, sans interaction de l'utilisateur.
Je dois mentionner que le PlayBook est destiné à exécuter des tâches localement, essentiellement pour préparer l'environnement pour les tests Maven (création de ressources attendues telles que les fichiers de propriétés).
Quel est l'utilisateur que jenkins exécute? –
Ce serait mon nom d'utilisateur sur Mac OSX (qui réussit), et "jenkins" sur les machines CentOS où Jenkins exécute le playbook. L'utilisateur "jenkins" est dans sudoers.d. – Jubz