詹金斯无法运行git

时间:2011-12-26 22:18:25

标签: git jenkins

我在我的mac(osx lion)上安装了Jenkins。但我无法让它发挥作用。这是我得到的堆栈跟踪:

Started by user anonymous

Checkout:workspace / /Users/Shared/Jenkins/Home/jobs/test/workspace - hudson.remoting.LocalChannel@1c0a0847
Using strategy: Default
Checkout:workspace / /Users/Shared/Jenkins/Home/jobs/test/workspace - hudson.remoting.LocalChannel@1c0a0847
Cloning the remote Git repository
Cloning repository origin
Error trying to determine the git version: Error performing command: /usr/local/git/ --version
Cannot run program "/usr/local/git/" (in directory "/Users/Shared/Jenkins/Home/jobs/test/workspace"): error=13, Permission denied
Assuming 1.6
ERROR: Error cloning remote repo 'origin' : Could not clone git@coding-squirrel.de:iRest.git
ERROR: Cause: Error performing command: /usr/local/git/ clone -o origin git@coding-squirrel.de:iRest.git /Users/Shared/Jenkins/Home/jobs/test/workspace
Cannot run program "/usr/local/git/": error=13, Permission denied
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:1046)
    at hudson.plugins.git.GitSCM$2.invoke(GitSCM.java:972)
    at hudson.FilePath.act(FilePath.java:783)
    at hudson.FilePath.act(FilePath.java:765)
    at hudson.plugins.git.GitSCM.checkout(GitSCM.java:972)
    at hudson.model.AbstractProject.checkout(AbstractProject.java:1195)
    at hudson.model.AbstractBuild$AbstractRunner.checkout(AbstractBuild.java:571)
    at hudson.model.AbstractBuild$AbstractRunner.run(AbstractBuild.java:460)
    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:238)

15 个答案:

答案 0 :(得分:69)

我的解决方案是在Manage Jenkins>中设置git路径。全局工具配置设置。在Git部分,我将 Git可执行文件的路径更改为/usr/local/bin/git

Global Tool Configuration

答案 1 :(得分:25)

您还可以在Jenkins服务器/节点配置中设置Git位置:

goto配置,在“节点属性”标记下,选中“工具位置”并将您的路径设置为Git。

enter image description here

答案 2 :(得分:21)

似乎詹金斯一直在改变很多。我在2017年3月解决了这个问题:

  1. 转到Manage Jenkins
  2. 转到全局工具配置
  3. Git / Path to Git executable中输入C:\<whatever the path is>\git.exe
  4. 点击保存。

答案 3 :(得分:3)

我在Jenkins中有正确的git路径,但我还没有在新安装的OS X Yosemite上接受Xcode构建工具EULA,所以git看起来好像在Jenkins中失败了。在尝试&#34; git --version&#34;在终端上的/ usr / bin / git的git上,我获得了一个接受EULA的命令行界面,然后Jenkins可以访问我给出的构建项目的git URL。

答案 4 :(得分:2)

就像Darksaint2014所说,如果在Windows中安装了Jenkins,则需要配置两个部分。

如果您在Windows中安装了Jenkins,则需要在本地和Linux服务器上都安装Git,然后在以下两个位置进行配置:


全局工具配置:

global tool configuration


对于服务器端:

For server side


答案 5 :(得分:1)

我在OS X上找到git可执行文件时遇到了类似的问题。

我必须将我的 Git可执行文件路径更改为: / usr / local / git / bin / git

如果你仍然被卡住,可能会给你一个机会。

答案 6 :(得分:1)

我面临的另一个问题是,ssh.exe没有查看密钥文件的%userprofile%/.ssh文件夹。相反,它正在寻找文件夹C:\Program Files (x86)\Git\.ssh,该文件夹是空的,并且由于在git repo所在的机器上的ssh身份验证提示而导致挂起。

我们刚刚将%userprofile%/.ssh下的密钥文件复制到C:\Program Files (x86)\Git\.ssh,问题就解决了。

答案 7 :(得分:1)

我有类似的问题,Windows的解决方案看起来是一样的(我的Jenkins安装在Windows机器上):

全局设置:

转到管理jenkins - &gt;配置系统 - &gt; Git安装 添加git exe路径(例如:C:\Program Files\Git\bin\git.exe),或者你可以使用环境变量。

对于Jenkins版本2.121.3,转到管理jenkins - &gt;全局工具配置 - &gt; Git安装 - &gt; Git可执行文件的路径C:\Program Files\Git\bin\git.exe

Jenkins工作方:

转到源代码管理 - &gt;选择git ,添加您的存储库,选择与存储库的连接(http / ssh) 并添加凭据,它应该工作。

答案 8 :(得分:1)

请在Jenkins服务器中安装git。例如,如果您使用的是托管Jenkins的Red Hat Enterprise Linux,请使用以下命令在该服务器中安装git: sudo yum install git 这应该可以解决问题,因为git可执行文件可以在 / usr / bin / git 中使用,这将由jenkins自动识别,您可以通过导航到管理Jenkins来验证 - &gt ;全局工具配置。然后在 Git安装下,将不会有任何警告,现在您应该能够在jenkins中克隆您的git项目。希望这有助于用户。

答案 9 :(得分:0)

如果您没有复制并粘贴完整的文件路径addess,例如C:\Program Files\Git\bin\git.exe,在配置Git的“可执行路径”字段中,可能会导致错误。 Windows 8&amp;例如,10具有“复制路径”功能,该功能确实有效并有助于获取完整路径名。 Mac应该有类似的东西。它总是最好使用它而不是点击路径地址栏和复制。这通常不会提供完整的文件路径,如果您忘记编辑目的地的路径,可能会造成很多麻烦。

Path copycopy也是复制完整路径

的非常好的附加组件

enter image description here

答案 10 :(得分:0)

如果Jenkins通过限制它在从属服务器或任何其他服务器上运行来触发构建(您可以在以下设置中找到它&#39; configure&#39;)

enter image description here

然后应该根据&#39; slave_server_hostname&#39;来设置Git可执行文件的可执行文件。或执行git命令的任何其他服务器。

答案 11 :(得分:0)

对于Jenkins 2.121.3版本,请转到管理jenkins->全局工具配置-> Git安装-> Git可执行文件的路径:C:\ Program Files \ Git \ bin \ git.exe 可行!

在Jenkins中,提供http URL。 SSH URL显示类似错误。

答案 12 :(得分:0)

添加“ / usr / bin / git” >> Git可执行文件的路径对我不起作用。 然后,我删除了$ JENKINS_HOME / fingerprints的内容,然后重新启动了Jenkins。问题解决了。

答案 13 :(得分:0)

环境:Linux 错误: “ jenkins无法连接到存储库:执行命令时出错:git ls-remote -h”

解决方案:          如果存储库URL和凭据配置正确,则在git installion和config上出现问题           a)确保在您的linux机器上安装了git。如果未安装git,请安装它(“ sudo yum install git”)           b)转到->管理Jenkins->全局工具配置                                                    -> Git-> Git可执行文件的路径                 确保存在“ git”命令。

答案 14 :(得分:0)

当我的Jenkins代理运行Java 11而不是Java 8时,我遇到了一个非常相似的错误。它与配置git路径无关!我找到的唯一解决方案是将代理降级到Java 8。