【问题标题】:Jenkins giving error while cloning from gitHubJenkins 从 gitHub 克隆时出错
【发布时间】:2012-08-25 11:43:26
【问题描述】:

我是Jenkins 的新手,从GitHub 克隆存储库时出现以下错误。

我尝试在这里搜索所有相关问题,但可以找到确切的 stacktstrace 和答案。

我正在尝试克隆需要用户名和密码的存储库,我在我的作业的作业配置设置中提供SSH://repository-path。我还没有完成任何与 .ssh 相关的设置,因为这似乎与 GIT 存储库的安全问题不同。

我无法弄清楚 Jenkins 试图执行什么评论,它没有发现哪个文件/目录毫无头绪。

这是我在 Jenkins 工作中的确切堆栈跟踪:

原因:java.io.IOException:无法运行程序:尝试错误 确定 git 版本:执行命令时出错:--version 假设 1.6 错误:克隆远程仓库“myRE”时出错:无法克隆 git@github.com:myORG/RVL.myProj.git hudson.plugins.git.GitException:无法克隆 git@github.com:myORG/RVL.myProj.git 在 hudson.plugins.git.GitAPI.clone(GitAPI.java:268) 在 hudson.plugins.git.GitSCM$2.invoke(GitSCM.java:1122) 在 hudson.plugins.git.GitSCM$2.invoke(GitSCM.java:1064) 在 hudson.FilePath.act(FilePath.java:842) 在 hudson.FilePath.act(FilePath.java:824) 在 hudson.plugins.git.GitSCM.checkout(GitSCM.java:1064) 在 hudson.model.AbstractProject.checkout(AbstractProject.java:1256) 在 hudson.model.AbstractBuild$AbstractBuildExecution.defaultCheckout(AbstractBuild.java:589) 在 jenkins.scm.SCMCheckoutStrategy.checkout(SCMCheckoutStrategy.java:88) 在 hudson.model.AbstractBuild$AbstractBuildExecution.run(AbstractBuild.java:494) 在 hudson.model.Run.execute(Run.java:1502) 在 hudson.maven.MavenModuleSetBuild.run(MavenModuleSetBuild.java:477) 在 hudson.model.ResourceController.execute(ResourceController.java:88) 在 hudson.model.Executor.run(Executor.java:236) 原因:hudson.plugins.git.GitException:执行命令时出错:clone -o RVL.myProj git@github.com:myORG/RVL.myProj.git /var/lib/jenkins/jobs/myProj/workspace 在 hudson.plugins.git.GitAPI.launchCommandIn(GitAPI.java:862) 在 hudson.plugins.git.GitAPI.access$000(GitAPI.java:40) 在 hudson.plugins.git.GitAPI$1.invoke(GitAPI.java:264) 在 hudson.plugins.git.GitAPI$1.invoke(GitAPI.java:244) 在 hudson.FilePath.act(FilePath.java:842) 在 hudson.FilePath.act(FilePath.java:824) 在 hudson.plugins.git.GitAPI.clone(GitAPI.java:244) ... 13 更多 原因:java.io.IOException: Cannot run program "": error=2, No such file or directory 在 java.lang.ProcessBuilder.start(未知来源) 在 hudson.Proc$LocalProc.(Proc.java:244) 在 hudson.Proc$LocalProc.(Proc.java:216) 在 hudson.Launcher$LocalLauncher.launch(Launcher.java:709) 在 hudson.Launcher$ProcStarter.start(Launcher.java:338) 在 hudson.Launcher$ProcStarter.join(Launcher.java:345) 在 hudson.plugins.git.GitAPI.launchCommandIn(GitAPI.java:843) ... 19 更多 原因:java.io.IOException: error=2, No such file or directory 在 java.lang.UNIXProcess.forkAndExec(本机方法) 在 java.lang.UNIXProcess.(未知来源) 在 java.lang.Pro

【问题讨论】:

  • 如果你在 Jenkins master 的命令行中输入“git --version”会发生什么?这看起来像你没有安装 git。
  • 看起来 Jenkins 的 GIT 配置有问题,给出了 GIT 的完整路径,而不是只有“git”(jenkins 建议)

标签: git github jenkins


【解决方案1】:

我遇到并解决了同样的问题:)

配置git的路径有两种方式:

  1. 关于詹金斯大师

    一个。进入 Jenkins 系统配置(Jenkins -> 管理 Jenkins -> 配置系统)

    b.找到Git项并配置git安装(在Jenkins Master上指定git路径)

  2. 在詹金斯奴隶上

    一个。进入 Jenkins Slave 的配置

    b.勾选“Tool Locations”复选框并指定 Jenkins Slave 上的 git 路径。

在我的情况下,我没有访问 Jenkins Master 的权限。所以我在 Jenkins Slave 上安装了 git 并将其添加到 Jenkins Slave 的配置中。

【讨论】:

  • 对我来说,git 路径选项位于 Manage Jenkins -> Global Tool Configuration
【解决方案2】:

这似乎是一个错误,请参阅 JENKINS-16523 我在其中发布了解决方法。

【讨论】:

    【解决方案3】:

    我遇到了同样的问题。

    我注意到单个作业“/var/lib/jenkins/jobs/job_name/config.xml”中混合了 git 配置:

    [root@jenkins.example.com jobs]# find . -maxdepth 2 -name     config.xml|xargs grep '<gitTool>'
    ./job1/config.xml:    <gitTool>git</gitTool>
    ./job2/config.xml:    <gitTool>Default</gitTool>
    ./job3/config.xml:    <gitTool>git</gitTool>
    ./job4/config.xml:    <gitTool>Default</gitTool>
    

    所以我修复了 gitTool 的名称并重新启动了 Jenkins。看起来 git 配置不正确,并且 git 的更改没有传播到所有作业。

    还要注意 .xml 文件中的 git 配置可能与 Jenkins 的配置和 webface 中的配置不同!!!

    【讨论】:

      【解决方案4】:
      1. 在主设备或从设备上运行 git --version
      2. 如果你没有得到任何东西,那意味着 Git 没有安装
      3. 如果您认为 Git 已安装,请将 Git 可执行文件的路径(例如 C:\Program Files\Git\cmd)添加到 PATH 环境变量中
      4. 在 Master 或 Slave 上运行 git --version 并确保您获得有效版本

      【讨论】:

        【解决方案5】:

        我在创建新的JOB 后遇到了同样的问题,修复了它更正了Label ExpressionRestrict where this project can be run 下的从属名称(安装了GIT)。

        【讨论】:

          【解决方案6】:

          除了superlee回答的步骤,你需要为你的服务器端配置你的节点属性,如果你的本地是windows系统,工具位置,参考下面的截图:

          tool location for your server side

          【讨论】:

            【解决方案7】:

            这可能由于多种原因而发生。

            1. 你可能没有安装 git
            2. Jenkins 无法使用 git 二进制文件
            3. 权限问题。

            此博客Jenkins Git Clone Error 解释了此错误的所有场景及其解决方案。

            【讨论】:

              猜你喜欢
              • 1970-01-01
              • 2019-01-09
              • 1970-01-01
              • 2020-11-24
              • 2019-01-17
              • 1970-01-01
              • 2018-09-19
              • 2021-07-09
              • 1970-01-01
              相关资源
              最近更新 更多