3

我最近的任务是使用 Jenkins、GitHub 和 Windows Server 2008 派生一个 CI 解决方案,该解决方案配置为使用 Git 可执行文件(在 Manage Jenkins -> Configure System 选项卡下):

C:\msysgit\git-cmd.bat

虽然 wiki 文章链接提供了一些见解,但我收到以下错误:

在工作区 C:\Users\Jenkins\.jenkins\jobs\{job name}\workspace 中构建
结帐:工作区 / C:\Users\Jenkins\.jenkins\jobs\{job name}\workspace - hudson.remoting.LocalChannel@5a969ec9
使用策略:默认
克隆远程 Git 存储库
克隆仓库 git@github.com:{git repo}.git
混帐--版本
处理泄露的文件描述符。有关更多信息,请参阅 http://wiki.jenkins-ci.org/display/JENKINS/Spawning+processes+from+build
从原点获取上游更改
致命:无效的 id:处理泄漏的文件描述符。有关更多信息,请参阅 http://wiki.jenkins-ci.org/display/JENKINS/Spawning+processes+from+build
java.lang.IllegalArgumentException:ID 无效:处理泄露的文件描述符。有关更多信息,请参阅 [相同的 wiki 链接]
    在 org.eclipse.jgit.lib.ObjectId.fromString(ObjectId.java:232)
    在 org.jenkinsci.plugins.gitclient.CliGitAPIImpl.revParse(CliGitAPIImpl.java:265)
    在 hudson.plugins.git.GitAPI.revParse(GitAPI.java:252)
    在 hudson.plugins.git.util.DefaultBuildChooser.getHeadRevision(DefaultBuildChooser.java:95)
    在 hudson.plugins.git.util.DefaultBuildChooser.getCandidateRevisions(DefaultBuildChooser.java:87)
    在 hudson.plugins.git.GitSCM$2.invoke(GitSCM.java:1051)
    在 hudson.plugins.git.GitSCM$2.invoke(GitSCM.java:942)
    在 hudson.FilePath.act(FilePath.java:904)
    在 hudson.FilePath.act(FilePath.java:877)
    在 hudson.plugins.git.GitSCM.determineRevisionToBuild(GitSCM.java:942)
    在 hudson.plugins.git.GitSCM.checkout(GitSCM.java:1108)
    在 hudson.model.AbstractProject.checkout(AbstractProject.java:1369)
    在 hudson.model.AbstractBuild$AbstractBuildExecution.defaultCheckout(AbstractBuild.java:676)
    在 jenkins.scm.SCMCheckoutStrategy.checkout(SCMCheckoutStrategy.java:88)
    在 hudson.model.AbstractBuild$AbstractBuildExecution.run(AbstractBuild.java:581)
    在 hudson.model.Run.execute(Run.java:1575)
    在 hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:46)
    在 hudson.model.ResourceController.execute(ResourceController.java:88)
    在 hudson.model.Executor.run(Executor.java:241)

这是什么原因造成的?

4

1 回答 1

1

建议您为此使用Git 插件,而不是尝试从脚本中调用它。
此外,您可能需要为此设置一个 SSH 密钥,并在 Jenkins 中对其进行配置。

另请参阅此处:

于 2013-05-24T15:43:42.940 回答