我正在尝试为项目设置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的结账失败,因为分支可能不同。
答案 0 :(得分:0)
那些不相互支持。您将要为每个存储库创建单独的作业和触发器。
答案 1 :(得分:0)
我遇到了同样的问题,并且能够使用Multiple SCMs
插件配置Gerrit触发器。
这是我的解决方案(实际上,这是Gerrit插件页面的推荐之一):
Advanced
按钮并将其设置为Refspec
字段: refs / changes / *:refs / changes / * < / LI>
Branch Specifier
,如下所示: $ GERRIT_REFSPEC 之后,Jenkins中的触发版本更新为更正分支/参考。
答案 2 :(得分:0)
也许一个好的解决方案是创建git子模块。 Parent 1将包含所有实际存储库