詹金斯:ansible主机无法访问

时间:2017-07-17 18:23:21

标签: jenkins ansible

我正在尝试Jenkins执行一个ansible剧本。 但是我收到了无法访问的主机错误,否则我无法解决。

ansible_ssh_private_key_file=/home/luvpreet/.ssh/id_rsa

我在ansible hosts文件中给出了这个变量,

luvpreet

我认为这是因为用户jenkins正在播放这些剧本而且它无法读取此私钥文件。我试图让jenkins'用户主文件夹,但没有成功。

如果我切换到用户{{1}}然后运行这些剧本,就可以完成。

如何通过jenkins shell切换到其他用户? OR

还有其他方法可以解决这个问题吗?

1 个答案:

答案 0 :(得分:1)

您的解决方案有多种可能性。最有可能的原因是Ansible正在尝试将ssh作为jenkins用户ssh到你的目标机器,而jenkins用户并不在所述机器上。我从不同的角度处理问题。

首先,我安装Ansible plugin for Jenkins。这允许您使用位于" Manage Jenkins>的内置凭证。管理凭证"。在那里,您可以复制并粘贴密钥(或指向位于jenkins服务器上的密钥文件),并设置将ssh到目标计算机的用户名。在你的工作配置中选择" Invoke Ansible Playbook"为您的构建步骤而不是shell。将有一个"证书"参数,您可以在其中指定先前添加的ssh密钥。其余的应该是非常自我解释的。