【发布时间】:2016-12-01 02:22:31
【问题描述】:
我在 Win 2008 服务器计算机上设置 Jenkins,但在配置 Jenkins 以连接到 GitHub 时遇到了一些问题。我收到以下错误:
Command "git.exe fetch -t git@github.com:USER/REPO.git +refs/heads/*:refs/remotes/origin/*" returned status code 128: Permission denied (publickey).
fatal: The remote end hung up unexpectedly
ERROR: Could not fetch from any repository
FATAL: Could not fetch from any repository
hudson.plugins.git.GitException: Could not fetch from any repository
at hudson.plugins.git.GitSCM$2.invoke(GitSCM.java:950)
at hudson.plugins.git.GitSCM$2.invoke(GitSCM.java:908)
at hudson.FilePath.act(FilePath.java:758)
at hudson.FilePath.act(FilePath.java:740)
at hudson.plugins.git.GitSCM.checkout(GitSCM.java:908)
at hudson.model.AbstractProject.checkout(AbstractProject.java:1184)
at hudson.model.AbstractBuild$AbstractRunner.checkout(AbstractBuild.java:537)
at hudson.model.AbstractBuild$AbstractRunner.run(AbstractBuild.java:425)
at hudson.model.Run.run(Run.java:1376)
at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:46)
at hudson.model.ResourceController.execute(ResourceController.java:88)
at hudson.model.Executor.run(Executor.java:175)
我检查过的内容
- Jenkins 服务正在我的用户名下运行。
- 我更改了我的 SSH 密钥,因此它不再有密码。
- 我已通过使用 msysgit 执行与 Jenkins 相同的命令来验证我的 SSH 密钥是否有效。
- 验证我所有的路径都是正确的。
Jenkins 配置设置
- 詹金斯 1.418
- GitHub 插件 0.5
- Git 插件 1.1.9
msysgit 有效,但 CMD 提示无效 当我导航到一个有效的 repo 并从 DOS 提示符执行命令时,它也失败了。
你知道我可能缺少什么吗?
感谢您的帮助。
【问题讨论】:
-
这是私人仓库吗?如果没有,您可以改用 Git 协议 URL (git://github.com/USER/REPO.git) 进行克隆,完全不需要 SSH 密钥。
-
你确定你已经定义了一个 HOME 环境变量吗?它在 Windows 上默认没有定义。
-
VonC,谢谢!你搞定了。请发布答案,以便我将其标记为已接受。感谢您的帮助。
-
@VonC 我已指定覆盖 Windows 从属节点上的 HOME 以将其指向 C:\jenkins。我已将正确的 id_rsa 放在 C:\jenkins\.ssh 下,但仍然存在此问题。我的从代理在 SYSTEM 帐户下作为服务运行。如何正确指定 HOME?
-
@Aaron: 抱歉回复晚了:没有@VonC,我从来没有收到任何通知。我已经为您和@VestniK 评论/问题发布了答案。
标签: windows git github jenkins