2

我的 Git 版本是 1.8.0,对于这个版本,Jenkins 中的 Git 安装路径是 C:\Git\cmd\git.exe(旧版本是 C:\Git\cmd\git.cmd)。这解决了我遇到的问题:删除工作区时出错。在 Jenkins 中,Git 存储库 URL 使用 ssh 协议:git@github.com:xxxxx/xxx.git,对我来说,这个 URL 有效。如果找不到您的密钥,此 URL 将返回错误,您需要定义 %HOME%,那么您的密钥应该在 %HOME%.ssh 中。然后我开始构建。当我构建它时,我得到了:

 stdout: Cloning into 'C:\Jenkins\workspace\Lily'...

 stderr: Permission denied (publickey).
 fatal: Could not read from remote repository.

 Please make sure you have the correct access rights
 and the repository exists.

at hudson.plugins.git.GitAPI.launchCommandIn(GitAPI.java:897)
at hudson.plugins.git.GitAPI.access$000(GitAPI.java:42)

我不明白为什么 Jenkins 可以找到我的存储库 URL 的密钥,但在克隆存储库时却找不到我的密钥。

任何帮助将不胜感激。

4

1 回答 1

1

我公司有代理服务器,对我来说,使用SSH协议非常困难,可能有办法解决代理服务器和ssh-to-github的结合,但我放弃了。相反,我使用了 https 协议。为了不提示 Jenkins 的凭据,我使用 github credential cache 来解决这个问题。在此处查看凭据缓存:http ://www.kernel.org/pub/software/scm/git/docs/git-credential-cache.html 。现在我的 Jenkins/Git 构建在 Windows 中工作。

于 2013-01-31T14:20:19.590 回答