30

我是新手Jenkins,从GitHub.

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

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

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

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

引起:java.io.IOException:无法运行程序:尝试确定 git 版本时出错:执行命令时出错:--version 假设 1.6 错误:克隆远程 repo 'myRE' 时出错:无法克隆 git@github.com:myORG /RVL.myProj.git hudson.plugins.git.GitException:无法在哈德森的 hudson.plugins.git.GitAPI.clone(GitAPI.java:268) 克隆 git@github.com:myORG/RVL.myProj.git。 plugins.git.GitSCM$2.invoke(GitSCM.java:1122) at hudson.plugins.git.GitSCM$2.invoke(GitSCM.java:1064) at hudson.FilePath.act(FilePath.java:842) at hudson.FilePath .act(FilePath.java:824) at hudson.plugins.git.GitSCM.checkout(GitSCM.java:1064) at hudson.model.AbstractProject.checkout(AbstractProject.java:1256) at hudson.model.AbstractBuild$AbstractBuildExecution。defaultCheckout(AbstractBuild.java:589) at jenkins.scm.SCMCheckoutStrategy.checkout(SCMCheckoutStrategy.java:88) at hudson.model.AbstractBuild$AbstractBuildExecution.run(AbstractBuild.java:494) at 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 at 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:无法运行程序“”:错误=2,在 hudson.Proc$LocalProc.(Proc.java:244) 的 java.lang.ProcessBuilder.start(Unknown Source) 处没有此类文件或目录在 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) at hudson.plugins.git.GitAPI.launchCommandIn(GitAPI.java:843) ... 19 更多原因:java.io.IOException: error=2, No such file or directory at java.lang.UNIXProcess.forkAndExec(Native Method) at java.lang.UNIXProcess.(Unknown Source) at java.lang.Pro

4

7 回答 7

55

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

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

  1. 关于詹金斯大师

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

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

  2. 在詹金斯奴隶上

    一种。进入 Jenkins Slave 的配置

    湾。选中“Tool Locations”复选框并指定 Jenkins Slave 上的 git 路径。

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

于 2013-04-18T05:57:34.120 回答
3

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

于 2013-01-29T16:48:36.153 回答
2

我经历了同样的问题。

我注意到单个作业“/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 中的配置不同!!!

于 2015-06-11T22:17:18.887 回答
1
  1. git --version在 Master 或 Slave 上运行
  2. 如果你没有得到任何东西,那意味着 Git 没有安装
  3. 如果您认为 Git 已安装,请将 Git 可执行文件的路径(例如 C:\Program Files\Git\cmd)添加到PATH环境变量
  4. 在 Master 或 Slave 上运行git --version并确保您获得有效版本
于 2018-07-12T20:20:36.497 回答
0

我在创建一个新的 . 之后遇到了同样的问题,JOB修复了它GIT在.Label ExpressionRestrict where this project can be run

于 2017-03-09T08:39:08.960 回答
0

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

服务器端的工具位置

于 2018-09-03T03:25:04.263 回答
0

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

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

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

于 2019-02-24T05:32:44.143 回答