[英]private repo is getting cloned via ansible playbook but private gem are not getting installed
[英]bundle install hang while installing private gem via ansible playbook
我正在尝试在远程主机上运行bundle install
,该主机使用来自私有仓库的gem。 任务挂起,因为它停止接受主机密钥,因为我无法在本地运行ansible playbook时手动接受远程主机上的密钥。
Playbook任务
- name: bundle install
command: bundle install chdir={{ deploy_directory }}
如何通过远程主机上的密钥文件测试或添加github连接。
我还试图通过ssh与github建立测试连接,在bundle安装之前显式接受密钥。
- name: test connection to git
command: ssh -vvv git@github.co key_file=/home/ubuntu/.ssh/id_rsa accept_hostkey=yes
现在这个命令也挂起了。
您可以在export ANSIBLE_HOST_KEY_CHECKING=False
游戏环境中放置export ANSIBLE_HOST_KEY_CHECKING=False
。 将其添加到您的播放中以避免主机密钥检查。
environment:
ANSIBLE_HOST_KEY_CHECKING: False
可以尝试的另一种方法是将基础严格密钥检查参数传递给ssh连接。 参数是 - StrictHostKeyChecking=no
和UserKnownHostsFile=/dev/null
。 您可以检查ansible_ssh_common_args
inventory ssh连接并使用ansible_ssh_common_args
或ansible_ssh_extra_args
根据@Ankit_Kukarni
评论,我尝试将github.com
添加到known_hosts
文件中,最后它起作用了。
将以下代码添加到剧本中
- name: ensure github.com is a known host
sudo: yes
lineinfile:
dest: /home/ubuntu/.ssh/known_hosts
create: yes
state: present
line: "{{ lookup('pipe', 'ssh-keyscan -t rsa github.com') }}"
regexp: "^github\\.com"
详细说明可以在这里找到
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.