我有一个运行Gerrit触发器插件的Jenkins服务器用于持续集成.对于运行单元测试和样式检查,它的工作非常出色!
但是,我也有兴趣使用Jenkins来构建我们的部署包.
理想情况下,开发人员会将标记推送到Gerrit,而gerrit-trigger插件会通知Jenkins构建标记,并适当地部署它们.
有没有办法通过jenkins和gerrit配置它,而不是使用Gerrit的git repos中的钩子发布到Jenkins的REST API,或使用浪费的滞后SCM轮询?
我怀疑可能有办法做到这一点,但我不太清楚从哪里开始.
Gerrit触发器插件有几个用于启动作业的触发器选项.
在你的Jenkins工作中,在"Gerrit Trigger"下你会找到一个带有下拉列表的"Trigger On"部分.如果您触发"Ref updated",它将在开发人员直接将ref直接推送到Gerrit而不经过审核流程的情况下运行您的工作.这不会严格限于标记事件,但它会捕获它们.
"Ref update"可以工作,但也可以通过提交合并到master来触发.如果您只想让构建由新标签触发.请尝试以下步骤:
1,标签应采用release/xxx.xx.xx等形式
2,Git插件配置:存储库URL:ssh://xxxx@mygerrit.com:29418/sweetTest.git要构建的分支:master
3,Gerrit插件:选择"Gerrit事件"选择"Ref updated"填充Gerrit项目模式:Plain:sweetTest分支:路径:refs/tags/release/*
4,现在将一个新标签"release/tagName"推送到远程gerrit repo master分支将触发构建