簡體   English   中英

git clone 在 jenkins shell 腳本中不起作用

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

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