当前位置: 首页 > 面试题库 >

詹金斯的Gerrit触发器找不到要构建的任何修订

汪明德
2023-03-14
问题内容

我在使用Jenkins + Gerrit时遇到麻烦。

  • Gerrit和Git自己在罚款。访问似乎也可以。

这是我的问题。构建时(触发Gerrit或手动进行),日志输出为:

 > git rev-parse --is-inside-work-tree # timeout=10
Fetching changes from the remote Git repository
 > git config remote.origin.url ssh://user@host:29418/testproject # timeout=10
Fetching upstream changes from ssh://user@host:29418/testproject
 > git --version # timeout=10
using GIT_SSH to set credentials 
 > git -c core.askpass=true fetch --tags --progress ssh://user@host:29418/testproject refs/heads/master
 > git rev-parse origin/$GERRIT_BRANCH^{commit} # timeout=10
 > git rev-parse $GERRIT_BRANCH^{commit} # timeout=10
ERROR: Couldn't find any revision to build. Verify the repository and branch configuration for this job.
Finished: FAILURE

我被此消息所困扰,尝试使用空仓库,非空仓库以及是否有变更集“正在审核”


问题答案:

我曾经遇到过这个问题,我想我现在已经解决了,我指责Jenkins UI隐藏了一些必要的配置元素;)

这是修复之前我的Jenkins构建的输出:

Triggered by Gerrit: https://bbpcode.epfl.ch/code/15056
[EnvInject] - Loading node environment variables.
Building remotely on rh6.6-02 (amd64-RedHatEnterpriseServer 6.6 RedHatEnterpriseServer amd64-RedHatEnterpriseServer-6.6 rh6.x RedHatEnterpriseServer-6.6 amd64) in workspace /var/tmp/jenkins/workspace/datamining.nip-commons.gerrit
 > /usr/bin/git rev-parse --is-inside-work-tree # timeout=10
Fetching changes from the remote Git repository
 > /usr/bin/git config remote.origin.url ssh://bbpcode.epfl.ch/datamining/nip-commons # timeout=10
Fetching upstream changes from ssh://bbpcode.epfl.ch/datamining/nip-commons
 > /usr/bin/git --version # timeout=10
 > /usr/bin/git fetch --tags --progress ssh://bbpcode.epfl.ch/datamining/nip-commons +refs/heads/*:refs/remotes/origin/*
 > /usr/bin/git rev-parse 74e4ff18f54bd6e046f7af016614193f566adfe4^{commit} # timeout=10
ERROR: Couldn't find any revision to build. Verify the repository and branch configuration for this job.
Started calculate disk usage of build
Finished Calculation of disk usage of build in 0 seconds
Started calculate disk usage of workspace
Finished Calculation of disk usage of workspace in 0 seconds
Finished: FAILURE

您需要打开构建配置,然后转到“源代码管理”部分,如下所示:

使用高级按钮进行Git配置

现在,您会注意到有一个“高级”按钮,单击它会显示以下额外字段:

显示带有refspec字段的Git配置

现在,您可以在此处输入refspec:$ GERRIT_REFSPEC

现在,要么重新触发失败的构建,要么放弃评论并提交新的,它应该可以正常工作。

现在有了适当的refspec,这就是詹金斯工作的输出:

Retriggered by user kerrien for Gerrit: https://bbpcode.epfl.ch/code/15056
[EnvInject] - Loading node environment variables.
Building remotely on rh6.6-02 (amd64-RedHatEnterpriseServer 6.6 RedHatEnterpriseServer amd64-RedHatEnterpriseServer-6.6 rh6.x RedHatEnterpriseServer-6.6 amd64) in workspace /var/tmp/jenkins/workspace/datamining.nip-commons.gerrit
 > /usr/bin/git rev-parse --is-inside-work-tree # timeout=10
Fetching changes from the remote Git repository
 > /usr/bin/git config remote.origin.url ssh://bbpcode.epfl.ch/datamining/nip-commons # timeout=10
Fetching upstream changes from ssh://bbpcode.epfl.ch/datamining/nip-commons
 > /usr/bin/git --version # timeout=10
 > /usr/bin/git fetch --tags --progress ssh://bbpcode.epfl.ch/datamining/nip-commons refs/changes/56/15056/2
 > /usr/bin/git rev-parse 74e4ff18f54bd6e046f7af016614193f566adfe4^{commit} # timeout=10
Checking out Revision 74e4ff18f54bd6e046f7af016614193f566adfe4 (dev)
 > /usr/bin/git config core.sparsecheckout # timeout=10
 > /usr/bin/git checkout -f 74e4ff18f54bd6e046f7af016614193f566adfe4
 > /usr/bin/git rev-parse FETCH_HEAD^{commit} # timeout=10
 > /usr/bin/git rev-list 2649d51369413cef4dfb7ec50939945005514cfa # timeout=10
Cleaning workspace
 > /usr/bin/git rev-parse --verify HEAD # timeout=10
Resetting working tree
 > /usr/bin/git reset --hard # timeout=10
 > /usr/bin/git clean -fdx # timeout=10
Triggering datamining.nip-commons.gerrit » default
datamining.nip-commons.gerrit » default completed with result SUCCESS
Started calculate disk usage of build
Finished Calculation of disk usage of build in  2 second
Started calculate disk usage of workspace
Finished Calculation of disk usage of workspace in 0 seconds
Finished: SUCCESS


 类似资料:
  • 问题内容: 在同一个SVN信息库中,我们有一个包含几个子项目的项目。例如: Jenkins是否可以在构建步骤中创建条件触发器? 我将澄清:仅在更改了SVN树的情况下,我才想执行Maven构建步骤。 例如,svn:// ip / svn / trunk / subproject1树已更改。在这种情况下,应触发整个构建。 然后,(由于svn:// ip / svn / trunk / subproje

  • 问题内容: 我试图通过在提交钩子中使用此URL来触发我的Jenkins项目 并且没有被触发。但是,当我在Web浏览器中键入此URL时,它将触发我的构建。 当我在命令提示符下尝试时,出现错误 错误404 例外: Stacktrace: 由Winstone Servlet Engine v0.9生成。 2014年4月22日星期二10:10:10 有人可以告诉我我在做什么错吗? 问题答案: 首先,按照E

  • 问题内容: 尝试通过jenkins构建git项目时,出现错误“错误:找不到要构建的任何修订。验证此作业的存储库和分支配置。完成:FAILURE’此错误是什么意思,我应该怎么做才能消除它? 问题答案: 我确认:一个空的仓库没有HEAD,也没有分支。我在“为什么需要显式推送新分支? ”中提到了这一点。 这意味着詹金斯(Jenkins),一旦仓库被克隆,将无法签出分支(因为还没有分支)。

  • 不过,我仍然希望Jenkins担任指挥,这样我们的管道对不在我们团队中的人来说就更明显了。 有很多关于从DevOps触发Jenkins的信息,但我还没有找到任何支持我们需要的东西。这可能吗?你能分享一些例子吗?

  • 问题内容: 尝试粘贴到我安装了Java JDK的位置,但是Jenkins一直说: 还尝试并得到: 任何人最后一个文件夹/文件应该是什么?我假设bin \ java,但这给我带来麻烦。 问题答案: 应该指向

  • 有人能告诉我如何设置jenkins以基于特定标记的git repo进行构建吗?我已经做了一些搜索,并试图设置一个工作来构建一个特定的标签,请参阅:Jenkins Git插件:如何构建特定的标签?但我只能从主分支获取最新的提交。 这是给詹金斯的2.54分。我在SCM下设置了以下内容。 我允许所有分支触发这项工作。我有一个用jenkins-test1标记的提交。0,当我从gitlab测试webhook