ansible - 如何使用 ansible 从本地 git 存储库克隆到虚拟机

标签 ansible

我有一个本地 git 存储库,我正在尝试将其克隆到一台流浪机器上。我正在尝试使用 ansible 的“git”模块来执行此操作,我有以下任务,

- name: Clone repository
  git: repo=git://../.git dest=/home/vagrant/source accept_hostkey=True

当我运行此任务时,我收到错误,

failed: [webserver] => {"cmd": "/usr/bin/git ls-remote git://../.git -h refs/heads/HEAD", "failed": true, "rc": 128}
stderr: fatal: unable to connect to ..:
..[0: 42.185.229.96]: errno=Connection timed out

msg: fatal: unable to connect to ..:
..[0: 42.185.229.96]: errno=Connection timed out

FATAL: all hosts have already failed -- aborting

看起来它正在尝试在我的虚拟机上而不是在我的本地计算机上查找存储库?如何从本地存储库克隆?

最佳答案

git 模块完全在虚拟机内部执行 - 您必须为其提供虚拟机可访问的路径。要么与主机建立一个 vagrant NFS 共享/同步文件夹,要么通过 http/ssh 通过网络将其公开给虚拟机。请注意,vagrant 与 Virtualbox(可能还有其他提供商)中的非 NFS 共享文件夹只是来回进行哑副本,而不是真正的“共享”(即,取决于您的存储库有多大,如果它不是 NFS,您可能会感到抱歉)。

关于ansible - 如何使用 ansible 从本地 git 存储库克隆到虚拟机,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32785637/

相关文章:

ansible - 如何实现 sudo su - <user> 并在ansible中运行所有命令

ansible - Ansible/jinja2 YAML 文件中的 ":&"是什么意思?

azure - 通过 Bastion Host 配置 VMSS 创建的 Windows VM

ansible - 如何从 tar.gz 文件安装 Ansible Galaxy 角色?

permissions - 使用 Ansible 创建 GCE 实例,权限问题

mongodb - 库存文件 - child 组 - Ansible 中

amazon-web-services - 使用 Ansible 为 Linux 用户配置 AWS key

使用 play 标签运行的 ansible playbook 会收集事实,即使收集的事实设置为 'no'

json - Ansible 中的自定义动态库存脚本/插件

macos - 无法通过 macOS 中的 ansible unarchive 模块提取 tar 文件?