私の開発マシンではすべてが素晴らしいです。それはジェンキンスがボールトで暗号化されたファイルに関連付けられているプレイブックを実行しようとしたとき、私はエラーが表示さだけということだ:JenkinsでAniableプレイブックを実行すると復号化に失敗する
ERROR! Decryption failed on /data/jenkins/workspace/.../secrets.yml
FATAL: command execution failed hudson.AbortException: Ansible playbook execution failed
ジェンキンスジョブから実行されたコマンドは次のとおりです。
/usr/bin/ansible-playbook playbook.yml -i prod/inventory -l localhost -s -f 1 --vault-password-file /etc/ansible/vault_password
ボールトパスワード・ファイルは、次の権限を持つ場所に存在することが確認されています。私は、同じコマンドを実行しますが(対話的)パスワードの入力を求める場合は
-rw-r--r--. 1 root root 35 Dec 18 13:23 /etc/ansible/vault_password
、すべてが大丈夫実行します。ただし、これは望ましいワークフローではありません。私は、Jenkinsがユーザーの介入なしに、これらのプレイブックをすべて単独で実行したいと考えています。
プレイブックは、基本的にMavenテスト用の環境(プロパティファイルなどの期待されるリソースを作成するため)を準備するために、ローカルでタスクを実行することを目的としています。
jenkinsが実行しているユーザーは? –
これは、MacOSX上での私のユーザ名(成功)と、Jenkinsがプレイブックを実行しているCentOSマシン上の "jenkins"です。 "jenkins"ユーザーはsudoers.dにいます。 – Jubz