9

我正在尝试设置我的 CI,并创建了一个自由风格的工作,但它在 git clone 步骤中失败,下面的日志显示。我使用 ssh 密钥正确配置了计算机,但找不到任何问题。

Using strategy: Default
Fetching changes from 1 remote Git repository
Commencing build of Revision 9560773cf0e8545f98c6700c44fd2f9ae31af904 (origin/master)
Checking out Revision 9560773cf0e8545f98c6700c44fd2f9ae31af904 (origin/master)
FATAL: Could not checkout 9560773cf0e8545f98c6700c44fd2f9ae31af904
hudson.plugins.git.GitException: Could not checkout 9560773cf0e8545f98c6700c44fd2f9ae31af904
    at org.jenkinsci.plugins.gitclient.JGitAPIImpl.checkout(JGitAPIImpl.java:68)
    at hudson.plugins.git.GitAPI.checkout(GitAPI.java:208)
    at hudson.plugins.git.GitSCM.checkout(GitSCM.java:1261)
    at hudson.plugins.git.GitSCM.access$1200(GitSCM.java:57)
    at hudson.plugins.git.GitSCM$4.invoke(GitSCM.java:1220)
    at hudson.plugins.git.GitSCM$4.invoke(GitSCM.java:1196)
    at hudson.FilePath.act(FilePath.java:865)
    at hudson.FilePath.act(FilePath.java:838)
    at hudson.plugins.git.GitSCM.checkout(GitSCM.java:1196)
    at hudson.model.AbstractProject.checkout(AbstractProject.java:1353)
    at hudson.model.AbstractBuild$AbstractBuildExecution.defaultCheckout(AbstractBuild.java:683)
    at jenkins.scm.SCMCheckoutStrategy.checkout(SCMCheckoutStrategy.java:88)
    at hudson.model.AbstractBuild$AbstractBuildExecution.run(AbstractBuild.java:588)
    at hudson.model.Run.execute(Run.java:1567)
    at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:46)
    at hudson.model.ResourceController.execute(ResourceController.java:88)
    at hudson.model.Executor.run(Executor.java:237)
Caused by: org.eclipse.jgit.api.errors.CheckoutConflictException: Checkout conflict with     files:
Heatmaps.framework/Headers/Heatmaps.h
Heatmaps.framework/Resources/Info.plist
Heatmaps.framework/Versions/Current/Headers
Heatmaps.framework/Versions/Current/Headers/Heatmaps.h
Heatmaps.framework/Versions/Current/Heatmaps
Heatmaps.framework/Versions/Current/Resources
Heatmaps.framework/Versions/Current/Resources/Info.plist
    at org.eclipse.jgit.api.CheckoutCommand.call(CheckoutCommand.java:244)
    at org.jenkinsci.plugins.gitclient.JGitAPIImpl.checkout(JGitAPIImpl.java:64)
    ... 16 more
Caused by: org.eclipse.jgit.errors.CheckoutConflictException: Checkout conflict with files:
Heatmaps.framework/Headers/Heatmaps.h
Heatmaps.framework/Resources/Info.plist
Heatmaps.framework/Versions/Current/Headers
Heatmaps.framework/Versions/Current/Headers/Heatmaps.h
Heatmaps.framework/Versions/Current/Heatmaps
Heatmaps.framework/Versions/Current/Resources
Heatmaps.framework/Versions/Current/Resources/Info.plist
    at org.eclipse.jgit.dircache.DirCacheCheckout.doCheckout(DirCacheCheckout.java:411)
    at org.eclipse.jgit.dircache.DirCacheCheckout.checkout(DirCacheCheckout.java:391)
    at org.eclipse.jgit.api.CheckoutCommand.call(CheckoutCommand.java:240)
    ... 17 more
4

3 回答 3

9

当我安装新的 Jenkins 1.505 并使用 git 客户端插件 1.0.4 时出现此错误。您可以将插件降级到 1.0.3,它可能会工作。我并没有真正使用 git 客户端插件,所以在我的情况下将其删除

于 2013-03-13T20:07:49.733 回答
5

我有同样的问题。他们发布了一个更正该错误的更新,因此您只需将 Jenkins Git 客户端更新到 1.0.5。现在它正在工作。

于 2013-03-22T09:39:49.533 回答
4

我刚刚遇到了同样的问题,想提供一个替代解决方案:

在插件页面上的 1.0.4 版本信息中,您可以阅读:

在 GitAPI 中对所有支持的方法使用 JGit 实现,直到设置 org.jenkinsci.plugins.gitclient.Git.useCLI

这似乎是我们问题的原因。但它说可以通过设置org.jenkinsci.plugins.gitclient.Git.useCLI为 true 来解决它。
所以只需添加-Dorg.jenkinsci.plugins.gitclient.Git.useCLI=true到您的启动脚本中。

在 Debian 上(使用 apt-get 版本时),更新就足够JAVA_ARGS/etc/default/jenkins(如此所述)

于 2013-03-14T09:35:02.387 回答