[英]Cloning a git repo from Bitbucket with Ansible - asked for password two or three times
我正在嘗試使用Ansible 1.9.3(OSX)和https連接從Bitbucket克隆一個私有git存儲庫。 我將密碼存儲在剪貼板中,並在要求提供密碼時使用粘貼功能。 以下命令要求我提供兩次或三次密碼(通常,一次不重復,一次不超過三個):
[~/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]#
如果立即嘗試輸入錯誤remote: Invalid username or password
,將導致remote: Invalid username or password
錯誤remote: Invalid username or password
,因此鍵入錯誤是毫無疑問的。 -vvv
選項沒有提示。 延遲輸入密碼似乎不會影響該行為。
為什么問幾次,為什么次數不一樣?
Ansible git
模塊不僅僅是克隆。 它還可以更新現有的本地存儲庫,使用子模塊等。( http://docs.ansible.com/ansible/git_module.html )
我的猜測是,它正在執行多項操作,每個操作都需要訪問遠程BitBucket存儲庫。 查看git模塊的源代碼可以看到,即使只是clone
步驟,它也會使用不同的參數多次執行git
二進制文件。 這很可能在這里發生-根據您是否已經克隆了存儲庫,命令的數量可能會有所不同,並且與本地存儲庫交互的每個命令都會再次詢問密碼。
要解決此問題,您應該考慮在目標計算機上設置Git憑據幫助程序。 在最簡單的情況下,您可以使用cache
實現,它將緩存您的密碼幾分鍾。 在這種情況下,只需輸入一次即可。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.