4

当我尝试设置作业以从 git 存储库构建项目时,出现错误:

Failed to connect to repository : Command "git ls-remote -h ssh://git@ssh://git@host.com/path/to/repos.git HEAD" returned status code 128:
stdout: 
stderr: Permission denied (publickey). 
fatal: The remote end hung up unexpectedly

在 Jenkins 中,我安装了 SSH 代理插件和 Git 插件。

我可以使用以下内容添加构建步骤:

git ls-remote -h ssh://git@host.com/path/to/repos.git HEAD

运行构建并且有效!

这告诉我一切都已正确设置:

  • 钥匙和钥匙的位置。
  • Jenkins/Manage Jenkins/Manage Plugins -> SSH 代理插件和 Git 插件。
  • Jenkins/Manage Jenkins/Manage Credentials 条目是正确的。

似乎这不适用于源代码管理,但对于预构建/构建/构建后操作它可以。

在构建过程之前未激活 Ssh 代理是否存在问题?

提前感谢任何可以提供帮助的人。

4

1 回答 1

2

“在构建过程之前没有激活 SSH 代理有问题吗?” - 是的,这很烦人。

我确实在我的狩猎中读到了“某处”,他们计划在未来使 SSH 代理正确地环绕 git 和其他插件。

如果您使用 SSH 代理设置运行一个简单的 shell 命令,您将清楚地看到它在构建的控制台输出中的 shell 命令之前和之后启动和停止,当输入 git 详细信息时不会发生这种情况。

只需继续使用现在描述的构建步骤...

于 2013-04-19T15:36:24.970 回答