Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/59.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用Ansible从Bitbucket克隆git回购协议-询问密码两到三次_Git_Bitbucket_Ansible - Fatal编程技术网

使用Ansible从Bitbucket克隆git回购协议-询问密码两到三次

使用Ansible从Bitbucket克隆git回购协议-询问密码两到三次,git,bitbucket,ansible,Git,Bitbucket,Ansible,我正在尝试使用Ansible 1.9.3(OSX)和https连接从Bitbucket克隆一个私有git存储库。我将密码存储在剪贴板中,并在要求提供密码时使用粘贴。以下命令要求我提供密码两到三次(不定期、从不一次、也不超过三次): 在任何一次尝试中提供错误的密码都会立即导致错误remote:无效的用户名或密码,因此键入错误是毫无疑问的-vvv选项不提供任何提示。延迟输入密码似乎不会影响行为 为什么我被问了好几次,为什么问的次数不同?Ansiblegit模块不仅仅是克隆。它还可以更新现有的本地存储

我正在尝试使用Ansible 1.9.3(OSX)和https连接从Bitbucket克隆一个私有git存储库。我将密码存储在剪贴板中,并在要求提供密码时使用粘贴。以下命令要求我提供密码两到三次(不定期、从不一次、也不超过三次):

在任何一次尝试中提供错误的密码都会立即导致错误
remote:无效的用户名或密码
,因此键入错误是毫无疑问的<代码>-vvv选项不提供任何提示。延迟输入密码似乎不会影响行为


为什么我被问了好几次,为什么问的次数不同?

Ansible
git
模块不仅仅是克隆。它还可以更新现有的本地存储库、使用子模块等()

我猜它正在执行多个操作,每个操作都需要访问远程BitBucket repo。查看一下就可以看出,即使是对于
clone
步骤,它也会使用不同的参数执行几次
git
二进制文件。这里可能发生这种情况-取决于您是否已经克隆了repo,命令的数量可能会有所不同,并且与本地repo交互的每个命令都会再次请求密码


为了解决这个问题,你应该考虑在目标机器上设置一个。在最简单的情况下,您可以使用
缓存
实现,它将缓存您的密码几分钟。在这种情况下,输入一次就足够了。

立即!在克隆到新存储库时执行三次,在目标存储库已存在时执行两次。配置git config--global credential.helper“cache”会阻止额外的密码请求。非常感谢。
[~/devops]# ansible localhost -c local -m git -a "repo=https://techraf@bitbucket.org/techraf/ansible-local.git dest=~/devops/ansible-local"
Password for 'https://techraf@bitbucket.org':
Password for 'https://techraf@bitbucket.org':
Password for 'https://techraf@bitbucket.org':
localhost | success >> {
    "after": "445dfaf39a6245bc30149dd722b1a17d0e56ba55",
    "before": null,
    "changed": true
}

[~/devops]#