jenkins整合gitlab时,Source Code Management添加gitlab仓库路径无论怎么尝试都报如下两个异常:
Failed to connect to repository : Command "git ls-remote -h git@xxxxx.com:xxx/dev_test.git HEAD" returned status code 128: stdout: stderr: Permission denied, please tryagain. Permission denied, please try again. Permission denied(publickey,gssapi-keyex,gssapi-with-mic,password). fatal: The remote end hung up unexpectedly
或
Failed to connect to repository : Command "/usr/local/git/bin/git -c core.askpass=true ls-remote -h http://www.xxx.com/gitlab/root/test.git HEAD" returned status code 128: stdout: stderr: fatal: Unable to find remote helper for 'http'
原因是:由于运行jenkins用户没有生成ssh私钥,且没有添加gitlab中。因此导致了如上异常。
生成ssh私钥
ssh-keygen -t rsa -C "admin@example.com"
运行上述命令,并一路回车即可生成相应的私钥。
将私钥添加到gitlab
cat ~/.ssh/id_rsa.pub
将所有内容添加到gitlab-->Profile Settings-->SSH Keys-->Add an SSH key。
保存后重启jenkins即可。
时间: 2024-10-17 18:20:57