git clone opendev專案後git review -s報錯
從review.opendev.org上下載了專案之後,進行修改,準備提交到主線,git review -s報錯
一、ssh祕鑰問題
二、gerrit社群的埠29418被牆無法使用
第一種情況:ssh祕鑰問題
先檢查能否連線opendev,原貼參考
1、執行ping review.opendev.org,看能否連通。
如若不能,需要檢查自己的DNS、網路連結等設定。
2、如果網路是通的,則檢查 預設的29418埠能否正常工作:
[[email protected] sandbox]nc review.opendev.org 29418
SSH-2.0-GerritCodeReview_2.11.4-11-ga14450f (SSHD-CORE-0.14.0)
如果結果如上所示,說明當前可以訪問29418埠,那問題可能出在key上。
3、重新檢查publickey能否工作https://review.opendev.org/settings/#SSHKeys(設定sshkey)
[[email protected] .ssh]# ssh -p 29418 [email protected] gerrit version
gerrit version 3.3.7-2-g17936a0b79-dirty
如果結果如上,說明可以正常訪問。
3.1
如果得到的資訊錯誤如
[[email protected] sandbox]# ssh -p 29418 [email protected] gerrit version
Warning: Permanently added '[review.opendev.org]:29418' (ECDSA) to the list of known hosts.
Permission denied (publickey).
說明key不能正常工作
解決:vi /root/.ssh/config檔案,裡面已經有review.opendev.org,加上IdentityFile,指定訪問該網站使用的祕鑰
Host review.opendev.org
User xxx
Port 29418
IdentityFile /var/lib/zuul/.ssh/id_rsa
第二種情況:gerrit社群的埠29418被牆無法使用
原地址參考:https://docs.opendev.org/opendev/infra-manual/latest/developers.html#accessing-gerrit-over-https
git review -s出現如下錯誤
[[email protected] manila]# git-review -s
Problem running 'git remote update gerrit'
Fetching gerrit
Connection to review.opendev.org closed by remote host.
fatal: The remote end hung up unexpectedly
fatal: early EOF
fatal: index-pack failed
error: Could not fetch gerrit
解決:設定通過https訪問Gerrit
1、如果之前設定過git-review失敗了,則要先從git中刪除Gerrit遠端:
git remote rm gerrit
然後再git remote add gerrit https://<username>@review.opendev.org/openstack/<project>.git 設定成https訪問,注意<username>替換成review.opendev.org賬號的裡面的username
2、用http再次提交執行git-review -s時,需要密碼,密碼為https://review.opendev.org/settings/http-password#HTTPCredentials 這裡生成的。輸入密碼後git review -s可完成。
git config --local credential.helper store 輸入密碼後執行指令儲存密碼