Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/jenkins/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jenkins Ansible插件中的Ansible忽略SSH配置_Jenkins_Ssh_Automation_Ansible_Devops - Fatal编程技术网

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

Jenkins Ansible插件中的Ansible忽略SSH配置,jenkins,ssh,automation,ansible,devops,Jenkins,Ssh,Automation,Ansible,Devops,在使用ansible插件与Jenkins一起运行时,我遇到了一个有关ansible中SSH控制路径的问题。当在资源清册中为主机使用长FQDN时,该问题就会显现出来 我尝试了以下方法: 在Jenkins用户的SSH配置文件中设置短主机名和控制路径 在/etc/ansible/ansible.cfg设置中设置SSH参数,例如: [ssh_connection] ssh_args="-F /var/jenkins_home/.ssh/config -o ControlMaster=auto -o C

在使用ansible插件与Jenkins一起运行时,我遇到了一个有关ansible中SSH控制路径的问题。当在资源清册中为主机使用长FQDN时,该问题就会显现出来

我尝试了以下方法:

  • 在Jenkins用户的SSH配置文件中设置短主机名和控制路径

  • /etc/ansible/ansible.cfg
    设置中设置SSH参数,例如:

    [ssh_connection]
    ssh_args="-F /var/jenkins_home/.ssh/config -o ControlMaster=auto -o ControlPersist=30m -o ConnectTimeout=60 -o ControlPath=/tmp/ssh-%C"
    control_path="/tmp/ssh-%C"
    
  • Jenkins插件对话框中的命令行选项--ssh-extra-args=

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

" /tmp/ssh-%C" 
我仍然得到:

/var/jenkins_home/.ansible/cp/ansible-ssh-bastion-dev.westeurope.cloudapp.azure.com-22-jenkins.ivQ6vi6TPB3BrYta\“Unix域套接字太长”

这与我在任何地方设置的选项都不对应


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

Ansible 2.2.1.0
Jenkins ver.2.32.1
中对我很好

$ cat /etc/ansible/ansible.cfg
[ssh_connection]
control_path = /tmp/ssh-%%C
注意双百分比登录
%%C
(否则Ansible无法格式化)


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

非常感谢您指出这一点,n00b有点问题,我将其归咎于临时性的blindness@barrymac也许将此作为错误报告提交给Ansible,以修复2%或更好的文档需求。