当前位置: 首页 > 知识库问答 >
问题:

致命:无效 ID 詹金斯 IIS

司马辉
2023-03-14

我试图设置詹金斯拉,并建立一个项目从bitbucket。

我在IIS 8.5 Server 2012 r2上使用这个。我已经设置了Git和Bitbucket插件。

我已经建立了一个项目:

Branch Specifier (blank for 'any'): "origin/master"

我不确定这是否是问题的一部分,但我的回购中只有这一个分支。

运行构建时,我收到以下错误,我找不到任何有关无效ID的信息,任何人都可以为我指出正确的方向吗?

它看起来像是从上次提交中获取哈希,然后说无效ID,我不确定这是哈希ID还是某种环境ID,因为它引用了构建目录(它确实存在并且具有正确的权限)当它失败时

错误日志:

Started by user Stu
Building in workspace C:\Program Files (x86)\Jenkins\workspace\Fenix
 > C:\Program Files\Git\git-cmd.exe rev-parse --is-inside-work-tree # timeout=10
Fetching changes from the remote Git repository
 > C:\Program Files\Git\git-cmd.exe config remote.origin.url https://user@bitbucket.org/project/project-fenix.git # timeout=10
Fetching upstream changes from https://user@bitbucket.org/project/project-fenix.git
 > C:\Program Files\Git\git-cmd.exe --version # timeout=10
using GIT_ASKPASS to set credentials 
 > C:\Program Files\Git\git-cmd.exe fetch --tags https://user@bitbucket.org/project/project-fenix.git +refs/heads/*:refs/remotes/origin/*
 > C:\Program Files\Git\git-cmd.exe rev-parse "refs/remotes/origin/master^{commit}" # timeout=10
FATAL: Invalid id: C:\Program Files (x86)\Jenkins\workspace\Fenix>
org.eclipse.jgit.errors.InvalidObjectIdException: Invalid id: C:\Program Files (x86)\Jenkins\workspace\Fenix>
    at org.eclipse.jgit.lib.ObjectId.fromString(ObjectId.java:232)
    at org.jenkinsci.plugins.gitclient.CliGitAPIImpl.revParse(CliGitAPIImpl.java:689)
    at hudson.plugins.git.GitAPI.revParse(GitAPI.java:316)
    at hudson.plugins.git.util.DefaultBuildChooser.getHeadRevision(DefaultBuildChooser.java:130)
    at hudson.plugins.git.util.DefaultBuildChooser.getCandidateRevisions(DefaultBuildChooser.java:112)
    at hudson.plugins.git.GitSCM.determineRevisionToBuild(GitSCM.java:992)
    at hudson.plugins.git.GitSCM.checkout(GitSCM.java:1095)
    at hudson.scm.SCM.checkout(SCM.java:495)
    at hudson.model.AbstractProject.checkout(AbstractProject.java:1278)
    at hudson.model.AbstractBuild$AbstractBuildExecution.defaultCheckout(AbstractBuild.java:604)
    at jenkins.scm.SCMCheckoutStrategy.checkout(SCMCheckoutStrategy.java:86)
    at hudson.model.AbstractBuild$AbstractBuildExecution.run(AbstractBuild.java:529)
    at hudson.model.Run.execute(Run.java:1728)
    at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:43)
    at hudson.model.ResourceController.execute(ResourceController.java:98)
    at hudson.model.Executor.run(Executor.java:404)
Finished: FAILURE

我见过很多地方使用git.cmd而不是. exe进行引用,但是我的Git目录中不存在cmd文件。如果我使用任何. exe文件,它会超时并且无法建立连接,所以我使用C:\Program Files\Git\git-cmd.exe并且它至少是连接的。

Git 版本是 Windows v2.10.2 的 Git 版本

如果有人能给我指出正确的方向,我将不胜感激,因为我在网上找不到关于这个特定错误的任何信息。

共有2个答案

艾心远
2023-03-14

要尝试的第一个测试是摆脱:

    < li >任何空间 < li >任何特殊字符(如< code>(x86))

因为您已经下载了Git的一个可移植版本,所以您可以在< code > C:\ prgs \ gits \ Git 2 . 10 . 2 中解压缩这个归档文件。

您可以将Jenkins工作区设置为更简单的PATH。

然后检查问题是否仍然存在。

从你的詹金斯工作日志:

> C:\ick\git\git-cmd.exe rev-parse "refs/remotes/origin/master^{commit}" # timeout=10
FATAL: Invalid id: C:\ick\jenkins\workspace\fenix>
org.eclipse.jgit.errors.InvalidObjectIdException: Invalid id: C:\ick\jenkins\workspace\fenix>
    at org.eclipse.jgit.lib.ObjectId.fromString(ObjectId.java:232)
    at org.jenkinsci.plugins.gitclient.CliGitAPIImpl.revParse(CliGitAPIImpl.java:689)
    at hudson.plugins.git.GitAPI.revParse(GitAPI.java:316)
    at hudson.plugins.git.util.DefaultBuildChooser.getHeadRevision(DefaultBuildChooser.java:130)
    at hudson.plugins.git.util.DefaultBuildChooser.getCandidateRevisions(DefaultBuildChooser.java:112)
    at hudson.plugins.git.GitSCM.determineRevisionToBuild(GitSCM.java:992)
    at hudson.plugins.git.GitSCM.checkout(GitSCM.java:1095)
    at hudson.scm.SCM.checkout(SCM.java:495)

它看起来像问题34886。在您的情况下,可能远程BitBucket存储库没有名为“master”的分支,从而无法取消对“reps/Remotes/在/code>”的引用。

子车新立
2023-03-14

请不要使用git-cmd.exe作为Jenkins的git实现。使用git安装的bin目录或git instalaltion的cmd目录中的git.exe。它工作得更好,经过测试,是支持的方式。

据我所知,git-cmd.exe是与git捆绑在一起的程序,用于启动在路径中包含git的Windows命令处理器。我对它运行任何git命令印象深刻,但它似乎这样做了。它不会运行所有 git 命令,而是提供新颖有趣的错误消息。

请参阅 JENKINS-45212,了解一个用例示例,其中该形式的 git 程序行为不正确,而 git.exe的行为符合预期。

 类似资料:
  • 问题内容: 詹金斯版 2.73.3 MacOSx 进行iOS构建并上传到hockeyapp。.ipa创建成功,似乎在hockeyapp上传后出现错误。我有一个可以正常工作并成功上传到hockeyapp的android项目。 更新Jenkins和插件后,今天开始获取此内容。以前在工作。 有任何想法吗? 问题答案: 运行Android版本时发生了变化(Jenkins版本2.86,由于其他原因,我刚刚从

  • 有没有可能让詹金斯使用真正的浏览器而不是无头浏览器?我正在运行一些用TestNG编写的测试(使用Selenium webdriver)。当我运行testng时。在Eclipse中,浏览器启动并运行测试。但当我使用Jenkins并用maven运行测试时,它不会启动任何浏览器。

  • 问题内容: 有人可以帮我摆脱Jenkins groovy脚本中的sed shell命令吗? 好辛苦 问题答案: 三重双引号()字符串文字语法允许变量/表达式替换(插值),因此反斜杠()被解释为特殊字符“转义”。由于第一个打开的括号不是这样的特殊字符,因此Groovy编译失败。如果要在结果字符串中使用文字反斜杠,则需要转义反斜杠。也就是说,使用双反斜杠()代替一个文字反斜杠。 从而:

  • 我成功地在我的java/maven eclipse项目上运行cucumber测试。但是,当我添加我的项目做Jenkins我总是得到以下错误"cucumber.runtime.CucumberExc0019:没有发现的功能在[]"。 我在命令行中阅读了Maven中的以下线程设置选项: ...测试在单独的JVM中运行,因此您需要在测试插件配置中指定该系统属性(即pom.xml中的surefire或fa

  • 问题内容: 如何轻松地将Jenkins与qUnit集成?我将使用真正的浏览器(如firefox和chrome)运行测试。我的服务器在RedHat 6.1 Linux上运行。我想我都需要插件/库,但我仍然不知道如何使其工作。我第一次与Jenkins合作(在服务器端)。 //编辑: 如果有人也可以共享想法如何构建覆盖率报告,那将是很棒的。 提前致谢 :)。 问题答案: 说詹金斯和QUnit只是难题的一

  • 我想做一些非常简单的事情,在一个文件夹中,我有一个jar文件和一个包含脚本的名为脚本的文件夹。但我可以让詹金斯拉链来做这件事。 zip目录:“awsdeploy”,排除:“”,glob:“”,“scripts/”,zipFile:“SQSToElasticProcessor.zip” 必须显式命名“zip”的参数。@ 第 31 行,第 16 列。