Я пытался запустить задание Ansible с моего сервера Jenkins на хост Windows, подключенный к домену. Я пробовал следующее для аутентификации.
Этот первый метод работает, но мой пароль сохранен в виде обычного текста, и я хотел бы его зашифровать:
ansible_user: '[email protected]'
ansible_password: 'myplaintextpassword
Этот второй метод терпит неудачу и дает мне ошибку. По сути, я пытался сохранить пароль домена Windows в секретном текстовом хранилище в Jenkins и просто передать его в задание Ansible как собственную переменную:
ansible_user: '[email protected]'
ansible_password: '{{ jenkins_secret_text_variable }}'
fatal: [myhost.domain.com]: UNREACHABLE! => {"changed": false, "msg": "Failed to connect to the host via ssh: ssh: connect to host host.domain.com port 22: Connection timed out\r\n", "unreachable": true}
Третий метод, который я пробовал, — вывести jenkins_secret_text_variable в «vaultpassfile» в Jenkins, а затем использовать флаг Ansible в плагине Jenkins:
--vault-password-file '${WORKSPACE}/vaultpassfile
Этот метод также не работает и дает мне ту же ошибку, что и второй метод. Итак, как правильно зашифровать мой пароль Windows в Jenkins и передать его в мою работу Ansible?