Gerrit Trigger在jenkins的多个SCM上无法正常工作

时间:2014-12-10 06:14:16

标签: git jenkins gerrit

我正在尝试为项目设置Jenkins。我使用git作为SCM和gerrit作为代码审查工具。我的项目包含许多存储库,因此我在Jenkins中使用MultipleSCM插件来检出不同的存储库。我已经配置了Gerrit Trigger,用于在代码签入发生时启动构建。问题是当用户在任何一个repo中更改all时,所有其他repos都会获得相同的CHANGE细节,这些细节在任何其他repo中都无效。

    > git rev-parse 873a6b7209411fa825f35da1c6fbc7f280cff06b^{commit} # timeout=10
ERROR: Couldn't find any revision to build. Verify the repository and branch configuration for this job.
Finished: FAILURE

如何解决问题?请帮忙。有什么工作吗? 提前谢谢。


詹金斯版本:1.588 使用的插件:git,gerrit-trigger,multiple-scm。 我有两个gerrit项目(gerrit1和gerrit2)。我在同一个jenkins工作中使用gerrit项目(因为它们是依赖的)。如果一个开发人员对gerrit1进行了更改并推动了gerrit,Jenkins会触发并开始构建。当有一个gerrit项目时,这工作正常。但在我的情况下,如果gerrit1发生变化,gerrit2将在jenkins中具有相同的变化参数。因此,gerrit2的结账失败,因为分支可能不同。

3 个答案:

答案 0 :(得分:0)

那些不相互支持。您将要为每个存储库创建单独的作业和触发器。

答案 1 :(得分:0)

我遇到了同样的问题,并且能够使用Multiple SCMs插件配置Gerrit触发器。 这是我的解决方案(实际上,这是Gerrit插件页面的推荐之一):

  1. 对于您要配置的git存储库,请点击Advanced按钮并将其设置为Refspec字段: refs / changes / *:refs / changes / * < / LI>
  2. 同样对于同一个存储库,请配置Branch Specifier,如下所示: $ GERRIT_REFSPEC
  3. 之后,Jenkins中的触发版本更新为更正分支/参考。

答案 2 :(得分:0)

也许一个好的解决方案是创建git子模块。 Parent 1将包含所有实际存储库