Jenkins 从 Git 获取代码时挂起

Posted

技术标签:

【中文标题】Jenkins 从 Git 获取代码时挂起【英文标题】:Jenkins hangs when fetching code from Git 【发布时间】:2014-02-28 04:43:24 【问题描述】:

我设置了一个新的 Jenkins 作业来从本地 Git 获取源代码。我可以在 cmd 上使用 git clone 从服务器获取。当我使用 Jenkins 作业获取源代码时,它会在抛出超时错误之前挂起以下消息 10 分钟

在工作区中的 Windows 2001 上远程构建 D:\ASDF555\Jenkins\workspace\TEST_JOB 从 远程 Git 存储库从上游获取更改 git@test.test.texas555:team888/product555.git

我还在cmd目录下配置了使用git.exe的路径。我该如何解决这个问题?

【问题讨论】:

你的git clone地址和jenkins里配置的一样吗?我经历过类似的事情。我在命令行上使用了 ssh://git@.... 而在 jenkins 上我只使用了 git@... 。在我将 ssh:// 添加到地址后,一切对我来说都很好。 【参考方案1】:

确保您的工作区是空的。我间歇性地发生了这种情况,然后注意到它只发生在一个工作区中。我 ssh 进入 jenkins 服务器并手动删除了工作区中的所有内容。

Git 不再挂起。

【讨论】:

【参考方案2】:

如果您还没有,请以“jenkins”用户身份登录到 jenkins 服务器并从 cmd 进行克隆。 检查是否成功?如果是,则尝试从 GUI 运行作业。

【讨论】:

我不认为用户是这里的问题。我可以使用Execute Windows batch 使用git clone 命令成功克隆存储库。 你可以将它克隆为 jenkins 用户吗?我想检查您是否可以使用 jenkins 作为用户进行克隆?【参考方案3】:

从执行 windows shell 进行克隆通常需要多长时间?

我遇到了类似的问题,我不得不在 Windows 上使用此选项启动 jenkins。 找到 jenkins.xml 文件并编辑带有 java 参数的行。 您必须将 git 超时值设置为比现在更高的值。

<executable>java</executable>
<arguments>-Dorg.jenkinsci.plugins.gitclient.Git.timeOut=400 </arguments>

保存文件并重启jenkins

【讨论】:

以上是关于Jenkins 从 Git 获取代码时挂起的主要内容,如果未能解决你的问题,请参考以下文章

Git fetch/pull/clone 在接收对象时挂起

AWS Lambda Snowflake Python 连接器在尝试连接时挂起

oracle spool 脚本在 cmd.exe 中工作,但在从代码调用时挂起

Namenode 似乎在启动时挂起

从打开的导航抽屉呈现视图控制器时挂起

Ruby on Rails 控制台在加载时挂起