我一直在尝试将 Ansible 作业从我的 Jenkins 服务器运行到连接到域的 Windows 主机上。我已尝试以下方法进行身份验证。
第一种方法有效,但它以纯文本形式保存了我的密码,我想对其进行加密:
ansible_user: 'username@domain.com'
ansible_password: 'myplaintextpassword
第二种方法失败并给我一个错误。基本上,我试图将 Windows 域密码保存在 Jenkins 的秘密文本存储中,并将其作为自己的变量传递给 Ansible 作业:
ansible_user: 'username@domain.com'
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 回显到 Jenkins 中的“vaultpassfile”中,然后在 Jenkins 插件中使用 Ansible 标志:
--vault-password-file '${WORKSPACE}/vaultpassfile
这种方法也失败了,并且给了我与第二种方法完全相同的错误。那么在 Jenkins 中加密我的 Windows 密码并将其传递给我的 Ansible 工作的正确方法是什么?