繁体   English   中英

通过ansible playbook安装私有宝石时捆绑安装挂起

[英]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=noUserKnownHostsFile=/dev/null 您可以检查ansible_ssh_common_args inventory ssh连接并使用ansible_ssh_common_argsansible_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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM