Jenkins Gerrit trigger使用

记录一次Jekins Gerrit trigger搭建过程。

目的

通过gerrit+jekins构建CI环境,简单点说就是gerrit来code review,同时代码提交的时候触发jekins任务进行verify。

条件准备

获取gerrit的权限

1.在gerrit的前端页面上位Jekinsy用户创建profile,设置ssh key
2.Gerrit web interface > Admin > Groups > Non-Interactive Users > Add your jenkins user.
3.Admin > Projects > …​ > Access > Edit
Reference: refs/*
Read: ALLOW for Non-Interactive Users
Reference: refs/heads/*
Label Code-Review: -1, +1 for Non-Interactive Users
Label Verified: -1, +1 for Non-Interactive Users

Gerrit 文档: http://gerrit-documentation.googlecode.com/svn/Documentation/2.4.2/access-control.html#examples_cisystem

Jekins管理员设置

通过 "Manage Jenkins > Gerrit Trigger" 设置gerrit server:


image.png

点击test connetciton测试连接,之后保存设置重启连接

image.png

触发设置

在job的配置页面的Build Triggers部分,选择gerrit event:


image.png

选择触发事件:

  • Draft Published:当更改从草稿状态变为新状态时发送。(仅在2.5版或更高版本的Gerrit中可用)。
  • Patchset Created:当新补丁集到达更改时发送。在版本2.6.0之前,这是您可以触发的唯一事件。
  • Change Merged:在Gerrit服务器上合并更改时发送。
  • Comment Added:在添加评论到更改时发送。可以配置要触发的类别和值。可以在插件的服务器设置中配置可用类别。
  • Ref Updated:当Gerrit服务器上的引用更新时发送,即有人推送过去的代码审阅。

不选的话默认是Patchset Created、d Draft Published

选择gerrit项目作为触发项:

至少需要指定一个项目和分支模式才能触发生成,可以根据需要指定任意数量的Gerrit项目来触发。
首先在左侧文本字段中指定Gerrit项目的名称。
可以通过“类型”(Type)下拉菜单提供的三种不同方式指定名称模式。

  • Plain: Gerrit的确切名称,区分大小写。

  • 路径: ANT样式模式。例如:“ *** / base /** ”

  • RegExp: 正则表达式。

然后提供要触发的分支的名称。与上述相同的“样式类型”可用。
因此,例如要触发项目中的所有分支,可以指定:
类型:路径
模式:**
可以通过单击“添加分支”来添加更多分支模式,并通过单击“添加项目”来添加更多项目。

相同的语法可用于指定要在哪个文件上触发(仅在Gerrit 2.3或更高版本中可用)。

动态触发

从插件的2.6.0版本开始,提供了一种新的方式来配置要触发的项目,分支和文件。

动态触发配置
通过选中“动态触发器配置”复选框,将要求用户提供文件的URL。

在设定的时间间隔内,插件会获取并解析此文件。文件内容应遵循以下语法:

p=some/project
b^**/master/*
f~.*\.txt
p=some/other/project
b^**

说明:

p用于项目
b用于分支
f用于文件
=用于普通语法
^用于ANT样式语法
〜用于regexp语法

假定分支和文件行是最接近的前一个项目行的一部分。
动态触发可以与上述常规配置结合使用。Gerrit触发器将触发动态和非动态配置。
Jenkins提取文件的时间间隔可以在Gerrit触发器的管理页面中配置“”

动态触发刷新

你可能感兴趣的:(Jenkins Gerrit trigger使用)