Jenkins持续集成:使用Gerrit Trigger插件实现代码提交自动验证

Gerrit Trigger插件集成了Gerrit代码审查,当创建一个“patch set”时触发Jenkins构建,本文档介绍Gerrit Trigger插件配置及使用方法。

安装Gerrit Trigger插件

进入jenkins【系统管理】-> 【插件管理】中下载插件,如果jenkins服务器没有联网,可以下载hpi文件离线安装。Gerrit Trigger插件依赖SCM API和Pipeline: API这两个插件,依次下载安装这3个插件:

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 。

--THE END--

相关阅读:

  1. 代码评审平台Gerrit安装配置方法介绍
  2. Gerrit REST API简单介绍
  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值