Ansible Vault в Jenkins
Есть некий jenkins, в котором джобы пинают плейбуки, понадобилось скрыть креды. Первый пришедший на ум вариант это
указать в ansible.cfg
Все что нам надо это добавить следующую конструкцию в execute shell:
Плюс ко всему столкнулся с проблемой когда у нас один плейбук на несколько проэктов, и в зависимости от переменной есть креды или нет, решилось через conditional-imports
vault_password_file
, а дальше закинуть файл с паролем и собственно все. Однако как-то неочень,
второй вариант это попробовать использовать credentials jenkins'aВсе что нам надо это добавить следующую конструкцию в execute shell:
printf '#!/bin/bash\necho $ANSIBLE_VAULT_PASSWORD' > ~/vault-env chmod +x ~/vault-env export ANSIBLE_VAULT_PASSWORD_FILE=~/vault-env export ANSIBLE_VAULT_PASSWORD=$vault_pass ansible-playbook blablablaГде - $vault_pass это переменная с нашим паролем определенная в джобе
Плюс ко всему столкнулся с проблемой когда у нас один плейбук на несколько проэктов, и в зависимости от переменной есть креды или нет, решилось через conditional-imports