gogs 和 Jenkins 之间的 SSH 错误

gogs 和 Jenkins 之间的 SSH 错误

我正在尝试在 Jenkins 和 Gogs 之间设置自动化管道,但在将两者连接在一起时遇到了一些问题。我觉得我已经正确遵循了流程,但最后仍然收到 401。

以下是我已采取的步骤:

1)登录我的jenkins主服务器,并登录jenkins用户

2)生成密钥对

ssh-keygen -t rsa -b 4096 -C "[email protected]"

3)在全局凭证下向詹金斯添加私钥

4)向 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 Jenkins:git 版本 1.7.1

这可能是我的问题的根源吗?

答案1

Jenkins 知道你想在 git 中使用 https 协议。也许你已经输入了,www-git1.mmm.local/git-admin/SF-Firefly-RK3399然后它被转换为https://www-git1.mmm.local/git-admin/SF-Firefly-RK3399

由于您已经生成了 ssh 密钥,最好将其明确设置为您的 git url。ssh://[email protected]/opt/local/absolute/path/to/repo

相关内容