簡體   English   中英

使用Ansible從Bitbucket克隆一個git倉庫-要求輸入密碼兩次或三遍

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM