Ansible Vault 暗号化ファイルに保存されているいくつかのパラメーターを参照する Ansible Playbook を起動しようとしている Jenkinsfile があります。
Ansible はバージョン 2.4.0.0 でインストールされます
これが私のジェンキンスファイルのスニペットです:
withCredentials([[$class: 'StringBinding', credentialsId: 'vault_token', variable: 'VAULT_TOKEN']]) {
ansiblePlaybook(
playbook: "./ansible/playbooks/deploy.yml",
inventory: "./ansible/hosts/hosts",
credentialsId: "$VAULT_TOKEN"
}
そして、プレイブックがあります:
---
- hosts: managers
become: true
tasks:
- include_vars: ../vaults/passwords.yml
- name: Log into Docker repository
docker_login:
registry: my.registry.org
username: "{{ reg_user }}"
password: "{{ reg_password }}"
このプレイブックには、暗号化された値を含むボールト ファイルが含まれています。Jenkins が Jenkinsfile を実行すると、次のエラーが表示されます: Attempting to decrypt but no vault secrets found
Jenkinsfile で渡した credentialId を ansible が使用しないのはなぜですか? この資格情報を渡す良い方法は何ですか?