【发布时间】:2013-11-22 03:14:27
【问题描述】:
我正在使用 Ansible,但我很难让 git 模块正常工作。 我已经阅读了几篇有同样问题的人的帖子,我查看了 ansible 文档,我几乎尝试了所有内容。 我找到了一个清晰的教程,直到他们使用 git,但是当我使用我的存储库时我又遇到了问题......:/ git任务只是挂了...没有错误,只是卡住了!
这是我的主机文件:
[web]
dev1 ansible_ssh_host=10.0.0.101 ansible_ssh_user=root
这是一个在我电脑上的 virtualbox 上运行的 vagrant VM。
我从本教程中获取了剧本并完成了所有步骤,直到第 08 步:https://github.com/leucos/ansible-tuto/tree/master/step-08
我在我的虚拟机上运行它,它工作正常,然后我添加了一个任务“部署我的代码”以使用我的存储库......但是这个任务不起作用。它是 bitbucket 上的私有存储库。有区别吗?
- hosts: web
tasks:
- name: Deploy our awesome application
action: git repo=https://github.com/leucos/ansible-tuto-demosite.git dest=/var/www/awesome-app
tags: deploy
- name: Deploy my code
action: git repo=https://YAmikep@bitbucket.org/YAmikep/djangotutorial.git dest=/var/www/my-app
tags: deploy
用户可能有问题,或者用户正在运行 ansible,或者密钥等,但我来回尝试了几个小时,现在我更加困惑......我只是不知道该怎么做现在调试它并找出问题所在以及我缺少什么。
谢谢。
【问题讨论】:
-
我个人不建议使用 HTTPS 来访问 git repos,除非你在非常严格的防火墙后面(没有 22 个出站,是的)。这可能会在推送大型提交时产生问题,这可能严重依赖于 HTTP 代理设置,当然,它会将您的密码存储在除了您的存储库之外的 cleantext 中。 ssh 私钥,在足够长的时间内代理转发到远程主机是更可取的。
-
作为一般说明。语法
https://github.com/account/repo-name.git将无法使用 Ansible 任务中的部署密钥。但是,语法git@github.com:account/repo-name.git将在具有有效部署密钥的 Ansible 任务中工作。语法很微妙,但需要注意。 -
@avelis 你的评论今天帮助了我。将网址从
https更改为git