使用带有Ansible Tower的本地git存储库

使用带有Ansible Tower的本地git存储库,git,ansible,ansible-inventory,ansible-tower,Git,Ansible,Ansible Inventory,Ansible Tower,我已经成功地将Ansible Tower项目配置为从远程git repo进行拉取,并使用ssh和存储的凭据(密钥)从本地repo进行拉取。在这台服务器上,允许ssh登录访问git是不可接受的,所以我试图将Ansible Tower配置为使用本地git存储库;不使用git:或ssh:协议访问,只通过file:///path/to/AnsibleTower.git Ansible Tower项目更新函数尝试“git clone”,但出现错误: "fatal: Could not re

我已经成功地将Ansible Tower项目配置为从远程git repo进行拉取,并使用ssh和存储的凭据(密钥)从本地repo进行拉取。在这台服务器上,允许ssh登录访问git是不可接受的,所以我试图将Ansible Tower配置为使用本地git存储库;不使用git:或ssh:协议访问,只通过file:///path/to/AnsibleTower.git

Ansible Tower项目更新函数尝试“git clone”,但出现错误:

        "fatal: Could not read from remote repository.",
        "Please make sure you have the correct access rights",
        "and the repository exists."
它显示了用于尝试克隆的命令:

"cmd": "/usr/bin/git clone --origin origin file:///path/to/AnsibleTower.git/ /var/lib/awx/projects/_114__00_test"
当我在服务器上直接执行上述命令时,作为
awx
用户,我没有收到任何错误,克隆工作正常。我可以看到,当Tower尝试更新时,git命令正在使用
awx
用户执行(观察ps的进程)。
awx
用户拥有AnsibleTower.git目录及其所有内容

这一点很重要,我之所以将其标记为“ansible inventory”,是因为使用SCM支持的项目似乎是将基于文本的库存导入/同步到Tower的唯一方法。我真的希望避免使用Tower web界面重新创建/更新我的库存;我希望在SCM中也能跟踪到这一点


我甚至允许所有用户访问.git目录(暂时);这也不起作用,似乎不是用户权限问题。

您可以省略源代码开头的文件:/。
所有本地存储库都不需要该文件,某些操作系统无法处理本地文件/目录的文件://uri

您可以在源文件的开头省略文件://。
所有本地存储库都不需要该文件,一些操作系统无法处理本地文件/目录的file://uri

我尝试删除file://但没有更改。误差完全相同;没有更糟。我尝试删除文件:/,但没有更改。误差完全相同;没有更糟的。