Ansible:从私人git仓库安装pip包

Tri*_*tan 6 git ssh pip ansible

我试图通过这种方式使用ansible的pip模块从私有git repo安装一个包:

- name: Install my package
  pip: name='git+ssh://git@github.com/mycompany/my-repo.git#egg=0.1.0'
       virtualenv=/path/to/venv
Run Code Online (Sandbox Code Playgroud)

但是当我尝试使用vagrant配置它时,这会挂起,很可能是因为它提示确认将密钥添加到已知主机列表中.的确,当我在流浪汉中运行时:

pip install git+ssh://git@github.com/mycompany/my-repo.git#egg=0.1.0
Run Code Online (Sandbox Code Playgroud)

它提示确认将github添加到已知主机,然后工作正常.

如果我克隆它accept_hostkey=yes:

- name: Clone repo
  git: repo=git@github.com:mycompany/my-repo.git
       dest=/path/to/dest
       accept_hostkey=yes
       recursive=no
Run Code Online (Sandbox Code Playgroud)

它工作正常,因为它接受在vagrant上复制的主机密钥.使用pip模块没有这样的选择,有什么方法吗?作为一种替代方案,我可以做一个克隆然后一个python setup.py install但是我宁愿用pip一步完成.

Mik*_*maa 0

如果此问题与授权主机密钥有关,而不是与拥有正确的私钥有关,那么您可以执行以下操作。

在运行之前,您始终可以在“~/.ssh/authorized_keys”中手动授权主机密钥pip

例子:

/sf/answers/1701365641/

要拥有正确的私钥来访问私有 Github 存储库,您可以使用 SSH 代理转发。