Jenkins和Gerrit与Google Repo SCM集成

安迪诺

我写这篇文章是因为我对如何配置jenkins来从gerrit中获取用于构建项目的更改尚不清楚。

网上有很多与如何连接所有这些代码段相关的教程/示例。但是我没有发现任何可以解释我想要做什么的东西。我认为有可能,但是...很好。我不确定。

我的设置:我有一个回购清单,其中包含最终应用程序的许多不同模块。该应用程序是用这种方式编写的,因为我可以更改一个模块,并用功能相似的代码替换另一个模块,以完成不同的工作。例如,它们可以针对不同的客户进行个性化设置。

我在jenkins中设置了一个工作,以捕获每个子模块中的每个提交。

我将Jenkins连接到Gerrit,然后可以使用gerrit触发器开始构建。

它可以工作,我可以构建我的母版和当前的母版。

我的问题是,当我发送修补程序供詹金斯(Jenkins)审核母版时,而不是我发送的修补程序。我想先测试最后一个补丁,然后再将其集成到master上。

模块不能独立构建,因为它们都以某种方式连接,所以我不能单独检查每个部分。

有人能够完成这样的事情吗?

马塞洛·阿维拉·德·奥利维拉(MarceloÁvilade Oliveira)

Gerrit触发器启动Jenkins作业时,可以在执行构建之前执行以下操作以准备工作区:

  1. 使用“仓库同步”签出所有仓库
  2. 使用GERRIT_PROJECT和GERRIT_REFSPEC Gerrit触发器env变量并执行以下命令来检出已更改存储库的补丁集:

    cd $ GERRIT_PROJECT

    git fetch https://用户@服务器/ a / $ GERRIT_PROJECT $ GERRIT_REFSPEC && git checkout FETCH_HEAD

    要么

    git fetch ssh://用户@服务器:29418 / $ GERRIT_PROJECT $ GERRIT_REFSPEC && git checkout FETCH_HEAD

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

TOP 榜单

热门标签

归档