【问题标题】:Jenkins with Tomcat - Failed to connect to repository : Could not initJenkins 与 Tomcat - 无法连接到存储库:无法初始化
【发布时间】:2015-05-21 08:16:31
【问题描述】:

问题:

  • 我已经在Windows 7 SP1 x64 后面的corporate proxy 后面设置了Jenkins v1.605 托管Apache Tomcat 7.0.59

  • 我在 Jenkins 中配置了 JDK、Git 和 maven 安装路径。还在管理插件的高级选项卡下配置了代理

  • 我在 Eclipse 上有一个 Java 项目,我使用 EGit 插件将它托管在 Bitbucket 存储库中,我正在尝试通过 https 将其连接到 Jenkins

  • 我在 Jenkins 中创建了一个新作业,添加了存储库 URL (https://@bitbucket.org//.g​​it) 并在下一步中添加了我的凭据。这是我收到以下错误的地方:

Failed to connect to repository : Could not init D:\Work\apache-tomcat-7.0.59\temp\hudson4595160075978517187tmp

我尝试过的:

在过去的两天里,我检查了大约 20 个 SO 问题和许多其他网站,并实施了其他人认为有用的解决方案,但无济于事。这是我尝试过的:

  • 在 git 中配置 http/https 代理后,尝试从 Git Bash 克隆存储库(来自this 答案和this 问题)。仓库克隆成功,但 Jenkins 无法连接。

  • 仔细检查 Jenkins 中的 git 安装路径配置(this 和许多其他答案)

  • 我将 git 和 git 客户端插件从最新版本分别降级到 1.5.0 和 1.0.7(来自 this 和许多其他答案)。在此之后,我使用我的凭据(this 答案)输入了 URL,但得到了相同的结果。在此之后,我恢复到最新版本。

  • 我尝试连接到 GitHub 存储库,但遇到了同样的问题

  • 尝试输入各种格式的repo URL(thisthis回答)

  • 我清除了 Tomcat 临时文件夹并使用 Tomcat 重新启动了 Jenkins(this 答案),但没有解决问题

如果我在这里遗漏了什么,谁能告诉我?在代理后面工作时我应该执行一些其他步骤吗?还是其他问题?

【问题讨论】:

  • 有什么我想念的解决方案吗?
  • 几天后,我将所有内容移至 SVN 并尝试将其连接到 Jenkins。它工作得很好,从那以后我一直在使用它。但是我还是想知道有没有办法解决我的 Git 问题。

标签: git tomcat jenkins bitbucket


【解决方案1】:

我遇到了这个问题,并使用 Process Monitor 调查了服务器上发生的情况。我发现了这个有助于查明问题的特殊错误:

java.exe  CreateFile  C:\Users\...\AppData\Local\GitHub\PortableGit_blabla\cmd init C:\Users\...\AppData\Local\Temp\hudsonblablatmp NAME INVALID

cmd 窗口中复制和粘贴命令会出现C:\... is not recognized as an internal or external command... 错误。

发生的情况是 Jenkins 试图在临时文件夹中执行 git init 命令。但是我注意到服务器上有问题的命令中的init 选项前面没有git 可执行文件,这使我转向了Jenkins 配置中的Path to Git executable 设置。我已将其配置为如上所示(C:\...\cmd),但将其视为简单路径(即文件夹链)并且未指定可执行文件。事实证明,Jenkins 只是获得了该值并将其用作可执行文件的绝对路径。所以我通过在它后面附加\git.exe 来解决这个问题,瞧!

tl;博士

确保 Jenkins 配置中的 Path to Git executable 是可执行文件的绝对路径,路径中存在可执行文件:

例如c:\Users\User\AppData\Local\GitHub\PortableGit_<guid>\cmd\git.exe

【讨论】:

  • 天啊,你是救生员。这正是我的问题,在詹金斯它说“路径到 Git 可执行文件”,它被验证为 OK。你必须添加 git.exe C:\Program Files (x86)\Git\bin\git.exe
【解决方案2】:

此错误是由于服务器上的 Git 不可用。这可以通过在 Jenkins 服务器上安装 Git 来解决。

yum install -y git

【讨论】:

    【解决方案3】:

    有一个类似的问题,就像上面提到的@balan 一样,CI 服务器上的 git 不可用。为我工作

    $sudo apt-get update
    $sudo apt-get install git 
    

    【讨论】:

      【解决方案4】:

      我在 Jenkins -> MyProjectName -> 配置 -> 源代码管理中遇到的原始错误 =

      解决方案=https://support.cloudbees.com/hc/en-us/articles/218156697-Git-Failed-to-connect-to-repository-Could-not-init-tmp

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2019-07-09
        • 1970-01-01
        • 1970-01-01
        • 2019-05-12
        • 1970-01-01
        • 2015-04-20
        • 2014-08-01
        • 2018-01-04
        相关资源
        最近更新 更多