![](/img/trans.png)
[英]Jenkins Plugin ssh Publisher not able to copy file to ansible server
[英]Ansible in Jenkins Ansible plugin, ignores SSH config
當使用ansible插件與Jenkins一起運行時,我在ansible中遇到有關SSH控制路徑的問題。 當對清單中的主機使用長FQDNS時,就會出現此問題。
我嘗試了以下方法:
在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
對我來說效果Ansible 2.2.1.0
Jenkins ver. 2.32.1
Jenkins ver. 2.32.1
。
$ cat /etc/ansible/ansible.cfg
[ssh_connection]
control_path = /tmp/ssh-%%C
請注意%%C
雙百分號(否則Ansible無法格式化它)。
我建議您檢查構建節點(如果您有jenkins從屬服務器,則可以更改主服務器上的設置,但作業要在其中一個從屬服務器上執行),並使用-vvvv
其他標志運行playbook來查看-vvvv
使用的配置文件。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.