Jenkins Ansible 插件中的 Ansible,忽略 SSH 配置

Ansible in Jenkins Ansible plugin, ignores SSH config

当 运行 Jenkins 使用 ansible 插件时,我正在努力解决有关 ansible 中 SSH 控制路径的问题。为清单中的主机使用长 FQDNS 时会出现此问题。

我试过以下方法:

我似乎无法说服 Ansible 使用较短的控制路径,如下所示:

" /tmp/ssh-%C" 

我仍然得到:

/var/jenkins_home/.ansible/cp/ansible-ssh-bastion-dev.westeurope.cloudapp.azure.com-22-jenkins.ivQ6vi6TPB3BrYta\" too long for Unix domain socket

这与我在各处设置的选项不符。

有人知道如何说服 Ansible 插件停止忽略 SSH 选项吗?

我用 Ansible 2.2.1.0Jenkins ver. 2.32.1 效果很好。

$ cat /etc/ansible/ansible.cfg
[ssh_connection]
control_path = /tmp/ssh-%%C

注意双百分号 %%C(否则 Ansible 无法格式化)。

我建议您检查构建节点(如果您有 jenkins slaves,您可以更改 master 上的设置,但作业在其中一个 slaves 上执行)和 运行 剧本 -vvvv 附加标志以查看 ansible 使用的配置文件。