一尘不染

Jenkins无法在Windows上通过Git / SSH克隆Git存储库

jenkins

我已经通过Windows 2008 32位上的Git / SSH在Jenkins中成功克隆了Git存储库。当我尝试在64位Windows
2008上执行相同操作时, 控制台输出 页面卡在此处:

Démarré par l'utilisateur anonymous
Checkout:book / C:\Jenkins\workspace\book - hudson.remoting.LocalChannel@1da691a
Using strategy: Default
Last Built Revision: Revision 5d7ce4ae23c91fb201ee005e6db17bcd795ca965 (origin/HEAD, origin/master)
Checkout:book / C:\Jenkins\workspace\book - hudson.remoting.LocalChannel@1da691a
Cloning the remote Git repository
Cloning repository origin

当我停止构建时(在卡住了几分钟之后),我得到了其余的错误消息:

ERROR: Error cloning remote repo 'origin' : Could not clone git@github.com:zeljkofilipin/watirbook.git
ERROR: Cause: Error performing command: C:\Git\bin\git.exe clone --progress -o origin git@github.com:zeljkofilipin/watirbook.git C:\Jenkins\workspace\book
null
Trying next repository
ERROR: Could not clone repository
FATAL: Could not clone
hudson.plugins.git.GitException: Could not clone
    at hudson.plugins.git.GitSCM$2.invoke(GitSCM.java:1042)
    at hudson.plugins.git.GitSCM$2.invoke(GitSCM.java:968)
    at hudson.FilePath.act(FilePath.java:785)
    at hudson.FilePath.act(FilePath.java:767)
    at hudson.plugins.git.GitSCM.checkout(GitSCM.java:968)
    at hudson.model.AbstractProject.checkout(AbstractProject.java:1193)
    at hudson.model.AbstractBuild$AbstractRunner.checkout(AbstractBuild.java:567)
    at hudson.model.AbstractBuild$AbstractRunner.run(AbstractBuild.java:455)
    at hudson.model.Run.run(Run.java:1404)
    at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:46)
    at hudson.model.ResourceController.execute(ResourceController.java:88)
    at hudson.model.Executor.run(Executor.java:230)
  • 我可以通过git://github.com/zeljkofilipin/watirbook.git两台机器上的Jenkins 通过Git只读URL克隆存储库
  • 我可以git@github.com:zeljkofilipin/watirbook.git从两台计算机上的命令行通过Git / SSH URL进行克隆
  • 我可以在32位计算机上通过Jenkins通过Git / SSH URL进行克隆,但不能在64位计算机上进行克隆。

我可以注意到的两台计算机之间的唯一区别(不算一台是笔记本电脑上的虚拟机,另一台是瑞士的真实计算机)是第一台是32位,第二台是64位。

不确定是否可以关联,但是32位计算机的位置设置为克罗地亚,而64位计算机的位置设置为瑞士(从法语的Git输出中可以看到)。

有关更多信息,请参见我的博客文章:Jenkins,Windows和Git


阅读 474

收藏
2020-07-25

共1个答案

一尘不染

我最近经历了这些痛苦。在这种情况下,尤其令人沮丧的是缺少错误日志:可能是因为MSysgit在尝试恢复时在控制台上提示用户-
这无法通过Jenkins控制台获得。

根据我的经验,这里需要注意一些关键要素:

  1. 同时安装了Msysgit和Cygwin:MSysgit对我来说效果更好-但我想您也正在使用
  2. 有些人<MSYSGIT_ROOT>\cmd\git.cmd<MSYSGIT_ROOT>\bin\git.exe
  3. 确保您的从站以同一用户身份运行(这不是基于服务的安装时的默认值)。-哦,我也看到了
  4. HOME为Windows从属显式设置变量
  5. 基本上,请确保在詹金斯统治下达到相同的.ssh键。
  6. 对于调试,我发现创建没有SCM的测试作业很有用,但是可以git clone在“执行外壳/批处理”构建步骤中运行。那应该揭示更多的信息。顺便说一句,您可以env在同一步骤中进行操作,也许ls %HOME%/.ssh

我认为以上就是让我使用git支持的Windows 7 64位Jenkins从属服务器的原因-
尽管我认为这与其他一些好的配置细节有关,而不是与64位对32位有关。祝你好运!

2020-07-25