[英]git clone not working in jenkins shell script
我正在設置 jenkins 構建管道,並且在構建步驟之一中,我正在嘗試 git clone 一個存儲庫。
構建步驟(執行shell):
git clone git@github.com:orgname/reponame.git
在這一步失敗了
10:14:01 Permission denied (publickey).
10:14:01 fatal: The remote end hung up unexpectedly
10:14:01 Build step 'Execute shell' marked build as failure
10:14:01 Finished: FAILURE
但是,在設置 repo 時,我已將 scm 設置為 git 並將存儲庫 url 指定為git clone git@github.com:orgname/reponame.git
,這非常有效。
知道我在這里可能會遺漏什么。
Github 使用 ssh 公鑰/私鑰對進行身份驗證。 當你使用github時,你需要提供你的公鑰。 按照這些說明,您可能已經這樣做過一次。
生成密鑰對時,默認行為是只有生成密鑰對的用戶才能訪問它。 這意味着如果您將其生成為upr ,則用戶jenkins無法訪問連接到 github 所需的密鑰對。
要解決此問題,請切換到 jenkins 用戶。 如果您使用的是 unix,則可以通過
sudo su - jenkins
然后按照github 提供的密鑰生成步驟進行操作。 對於 Jenkins 使用密鑰,最簡單的方法是創建它,沒有密碼。
我沒有使用過它,但是像這樣的Jenkins 插件可能允許您使用受密碼保護的密鑰對。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.