我有一台运行Gerrit触发器插件的Jenkins服务器用于持续集成。对于运行单元测试和样式检查,它的工作非常棒!
但是,我也有兴趣使用Jenkins来构建我们的部署包。
理想情况下,开发人员会将标记推送到Gerrit,而gerrit-trigger插件会通知Jenkins构建标记,并适当地部署它们。
有没有办法通过jenkins和gerrit配置它,而不是在Gerrit的git repos中使用钩子发布到Jenkins的REST API,或者使用浪费的滞后SCM轮询?
我怀疑可能有办法做到这一点,但我不太清楚从哪里开始。
答案 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分支将触发构建