Gerrit Trigger插件集成了Gerrit代码审查,当创建一个“patch set”时触发Jenkins构建,本文档介绍Gerrit Trigger插件配置及使用方法。
目录
- 安装Gerrit Trigger插件
- Gerrit 访问权限配置
- Jenkins Gerrit Server配置
- Gerrit Trigger配置
安装Gerrit Trigger插件
进入jenkins【系统管理】-> 【插件管理】中下载插件,如果jenkins服务器没有联网,可以下载hpi文件离线安装。Gerrit Trigger插件依赖SCM API和Pipeline: API这两个插件,依次下载安装这3个插件:
- SCM API:https://plugins.jenkins.io/scm-api/#releases
- Pipeline: API:https://plugins.jenkins.io/workflow-api/#releases
- Gerrit Trigger:https://plugins.jenkins.io/gerrit-trigger/#releases
Gerrit 访问权限配置
1、在Gerrit平台注册一个jenkins用户,然后设置一个SSH key。
2、Gerrit Web页面,进入Browse > Groups > Service Users,将jenkins 用户添加到这个分组中。(Gerrit v3.3之前的CI组名称为Non-Interactive Users)
3、Gerrit Web页面,Browse > Repositories > [仓库名称] > Access > Edit
- Reference:
refs/*
- Read: ALLOW for Service Users
- Reference:
refs/heads/*
- Label Code-Review: -1, +1 for Service Users
- Label Verified: -1, +1 for Service Users
Jenkins Gerrit Server配置
Gerrit Trigger插件安装成功后,进入Manage Jenkins > Gerrit Trigger,点击添加Gerrit服务器。用户名和邮箱填写在Gerrit平台注册的jenkins用户和邮箱。
如果Gerrit Trigger触发器在master节点(也就是jenkins服务器本身)运行,配置SSH Keyfile时,需要在jenkins服务器配置ssh秘钥,如果你的jenkins使用docker搭建,先进入jenkins:docker exec -it jenkins bash
,然后使用如下命令创建ssh秘钥:
$ ssh-keygen -m PEM -t rsa -C "邮箱地址"
ssh-keygen -m PEM -t ed25519 -C "邮箱地址"
生成的私钥地址为:
/var/jenkins_home/.ssh/id_rsa
/var/jenkins_home/.ssh/id_ed25519
将它填入SSH Keyfile中。
此外,还需要在gerrit平台上创建SSH keys,将 /var/jenkins_home/.ssh/id_rsa.pub
的内容添加到gerrit平台jenkins用户的SSH keys中。
Gerrit Trigger配置
创建一个demo项目,选择运行节点为master节点;如果当前项目不需要对源码进行处理,可以不设置源码管理;设置触发器为【Gerrit event】。
Gerrit Trigger插件提供了很多参数,比如GERRIT_CHANGE_SUBJECT
是提交日志。
选择配置好的gerrit服务器和触发条件,比如选择Patchset Created表示push到gerrit后触发。
接下来配置仓库和分支,表示在这个仓库分支有提交就触发此job。
接下来可在构建步骤中添加构建,比如对提交日志格式进行检查。
提交代码到gerrit或者修改某次提交后,会触发此Jenkins项目执行。
还可以添加静态代码检查、代码编译等操作,执行成功会对此次提交执行Verified+1操作,失败Verified-1 。
相关阅读:
- 代码评审平台Gerrit安装配置方法介绍
- Gerrit REST API简单介绍