Ssh
gogs 和 Jenkins 之間的 SSH 錯誤
我正在嘗試在 Jenkins 和 Gogs 之間建立一個自動化管道,並且在將兩者連接在一起時遇到了一些問題。我覺得我已經正確地遵循了這個過程,但在它結束時仍然收到一個 401。
以下是我已採取的步驟:
1)登錄我的jenkins主伺服器並登錄jenkins使用者
- 生成密鑰對
ssh-keygen -t rsa -b 4096 -C "sysadmin@email.ca"
在全域憑證下為詹金斯添加私鑰
為 Gogs 添加公鑰
5)去創建一個新的管道,當我輸入儲存庫名稱時,我得到以下錯誤:
Help for feature: Repository URL Failed to connect to repository : Command "git ls-remote -h https://www-git1.mmm.local/git-admin/SF-Firefly-RK3399 HEAD" returned status code 128: stdout: stderr: error: The requested URL returned error: 401 Unauthorized while accessing https://www-git1.mmm.local/git-admin/SF-Firefly-RK3399/info/refs fatal: HTTP request failed
更新:
所以我不確定這是否會成為一個問題,但我意識到我的 gogs 伺服器和 jenkins master 正在執行兩個不同版本的 git:
Gogs:git 版本 1.8.3.1 詹金斯:git 版本 1.7.1
這可能是我問題的根源嗎?
Jenkins 明白你想在 git 中使用 https 協議。也許你已經把
www-git1.mmm.local/git-admin/SF-Firefly-RK3399
它轉換成https://www-git1.mmm.local/git-admin/SF-Firefly-RK3399
當您生成 ssh 密鑰時,最好將其明確設置
ssh://username@www-git1.mmm.local/opt/local/absolute/path/to/repo
為您的 git url。