Jenkins通过gerrit-trigger插件构建标记推送

时间:2013-09-04 16:08:20

标签: git jenkins continuous-integration build-process gerrit

我有一台运行Gerrit触发器插件的Jenkins服务器用于持续集成。对于运行单元测试和样式检查,它的工作非常棒!

但是,我也有兴趣使用Jenkins来构建我们的部署包。

理想情况下,开发人员会将标记推送到Gerrit,而gerrit-trigger插件会通知Jenkins构建标记,并适当地部署它们。

有没有办法通过jenkins和gerrit配置它,而不是在Gerrit的git repos中使用钩子发布到Jenkins的REST API,或者使用浪费的滞后SCM轮询?

我怀疑可能有办法做到这一点,但我不太清楚从哪里开始。

2 个答案:

答案 0 :(得分:7)

Gerrit触发器插件有几个用于启动作业的触发器选项。

在你的Jenkins工作中,在“Gerrit Trigger”下你会找到一个带有下拉列表的“Trigger On”部分。如果您触发“Ref updated”,它将在开发人员直接将ref直接推送到Gerrit而不经过审核流程的情况下运行您的工作。这并不仅限于标记事件,而是会捕获它们。

答案 1 :(得分:5)

“Ref update”可以工作,但也可以通过提交合并到master来触发。 如果您只想让构建由新标签触发。请尝试以下步骤:

1,标签的格式应为release / xxx.xx.xx

2,Git插件配置: 存储库URL:ssh://xxxx@mygerrit.com:29418 / sweetTest.git 要建立的分支:主

3,Gerrit插件: 选择“Gerrit事件” 选择“参考更新” 填写Gerrit项目      模式:平原:sweetTest      分支:路径:refs / tags / release / *

4,现在将新标签“release / tagName”推送到远程gerrit repo master分支将触发构建