目录

gerrit trigger介绍

1、安装gerrit trigger插件

2、安装辅助插件

3、配置gerrit server

3、新建job并配置gerrit trigger


gerrit trigger介绍

gerrit trigger是一个Jenkins插件,用于监控gerrit服务器的事件流(stream events),根据提交状态来触发一系列动作比如下载代码、编译、给gerrit提交打分等等。


1、安装gerrit trigger插件

Gerrit Trigger

This plugin integrates with Gerrit code review.

安装插件可以直接在Jenkins->manage Jenkins->plugin manager中在线安装,需要注意的是,gerrit trigger有很多个版本,根据网上的说法,目前最新的2.3.0以上版本无法正常使用,不能触发gerrit事件。所以尽量安装以前的比较稳定的版本,这里我使用的是2.29版本,经过验证是可以正常使用的。此处踩过的坑

jenkins版本也尽量使用稳定的版本,我使用的是 2.204.1版本,在About Jenkins中可以查看版本号。

另外,如果当前的Jenkins版本无法通过网络下载正常的gerrit trigger版本,可以通过手动下载的方式。下载方式是进入Jenkins->manage Jenkins->plugin manager->Advanced->Upload Plugin,手动选择本地的插件后upload。

下载gerrit trigger的地址:

https://updates.jenkins-ci.org/download/plugins/gerrit-trigger/

注意:在手动安装过程中可能出现提示当前文件正在被使用的问题,如果之前安装过gerrit trigger,需要卸载以后,重启Jenkins,在Jenkins重启的过程中,去删除之前安装遗留的文件,否则无法删除,提示正在使用。

文件目录一般在安装目录下面的.Jenkins/plugin中,所有与gerrit trigger相关的文件或目录都要删除掉,不然可能仍然出现安装失败的问题。

目录gerrit-trigger,文件gerrit-trigger.bak、gerrit-trigger.jpi,删除完以后等Jenkins重启,最好是等Jenkins启动完毕后过几分钟再安装,此处都是踩过的坑


2、安装辅助插件

Gerrit Code Review plugin

This plugin integrates Gerrit Code Review with Jenkins.

REPO

This plugin allows use of repo as an SCM tool. A repo binary is required.

REPO插件用来下载以及管理gerrit代码,非常有用。


3、配置gerrit server

gerrit trigger插件安装成功以后,在Jenkins设置界面能看到gerrit trigger选项,能够配置gerrit server。

点击add new server,先配置Gerrit Connection Setting:

其中hostname是gerrit的网页地址,frontend URL就是https链接,端口默认为gerrit中的29418,不同的服务器可能不一样;email和proxy可以不填写,SSH keyfile一定是已经配置到了gerrit上面;最后SSH Keyfile Password一定要删除,如果有的话也可以填上,不然会出现无法连接的情况;最后点击test connection出现success表示连接成功,配置没有问题。username为gerrit账号,这个账号需要有监听gerrit事件流的权限,使用SSH命令查看当前用户是否有权限监听Gerrit事件流:

ssh -p 29418 cnbwu@Gerrit-URL gerrit stream-events

接下来需要设置REST API,点击advanced一直往下拉可以看到配置项,勾选Use REST API,填写Gerrit HTTP Username和Gerrit HTTP Password,这个账号仍然是gerrit账户,密码是通过gerrit界面账户配置生成的:

如图,点击generate password即可生成;配置好以后点击Test Rest Connection测试是否能够正常连接,这个配置一般只要账号密码没有问题都可以成功连接。

其它选项可以不用配置,配置完毕后保存,在gerrit server列表中会出现新创建的server名称,点击上面的小圆点可以启动server服务,再次点击可以关闭:

小圆点显示为蓝色表示启动成功,可以使用了。

3、新建job并配置gerrit trigger

新建job不用多说,在job中找到Source Code Management,选中Gerrit Repo,这个选项是要在安装了REPO插件以后才能看到的。这个配置项比较多,不再一一说明:

其中IgnoreChanges一般填写manifest那个仓库,因为这个仓库主要是管理manifest文件,和编译关系不大;Group、Jobs、Depth不用填写,其余根据配置情况填写。

接下来配置Gerrit Trigger,找到Build Triggers中的Gerrit event,选中后会出现配置界面,server就是刚刚新建的server名称;trigger on是触发机制,可以有多种选择,根据项目实际情况来定

需要注意的是Dynamic Trigger Configuration,这里定义了所要触发的仓库与分支,如果前面的仓库选择类型的是path,那么后面的pattern选择要以**来匹配或者输入仓库的路径,否则会出现无法触发gerrit trigger的情况:

这个配置好以后,gerrit trigger的配置基本完成,接下来可以验证这个配置是否有效。在gerrit上面提交一个patch,如果配置成功,那么会自动触发新建的job,进行代码的更新,如果需要cherry pick代码以及编译,需要配置脚本来完成,这里不再多说。

编译状态在Jenkins上面显示如下,会自动显示触发的提交是哪一个,job执行完以后会在相应的提交上面添加comment,非常实用:

Gerrit Trigger配置相关推荐

  1. Jenkin 配置 Gerrit Trigger

    一.安装Jenkins Gerrit Trigger 插件 安装Gerrit Trigger插件 配置Gerrit server 二.创建 alice_test job 创建 alice_test j ...

  2. gerrit 搭建配置

    Ubuntu 16.04 LTS gerrit 搭建配置 操作系统 Ubuntu16.04 LTS 设置同步时间: sudo apt-get install ntpdate sudo ntpdate ...

  3. Ubuntu gerrit 安装配置

    创建数据库 CREATEUSER'git'@'localhost'IDENTIFIEDBY'git'; CREATEDATABASEreviewdb; ALTERDATABASEreviewdbcha ...

  4. gerrit安装配置(http反向代理)

    我的环境:linux:fedora21 一.软件安装 1.安装git.apache sudo yum install git httpd 2.安装并查看java安装情况: sudo yum insta ...

  5. Centos之Gerrit邮箱配置-yellowcong

    配置Gerrit的邮箱信息,然后设定用户可以注册邮件,最后重启服务.这里需要注意一点的是:有可能你的gerrit启动比较的慢,不要心急,通过ps 查看进程是否挂掉了,如果挂掉了,就说明配置有问题了,如 ...

  6. gerrit 邮箱配置 及 验证问题

    1.邮箱配置 a.163邮箱 [sendemail]#smtpServer = localhostenable = truesmtpServer = smtp.163.comsmtpServerPor ...

  7. Jenkins+Gerrit创建新工程手顺

    1. Gerrit创建新工程 管理员登录Gerrit,Project创建新工程,工程名与远程Git库工程名必须一样. 2. Jenkins配置 > 配置review Jobs Git配置为Ger ...

  8. Android下的配置管理之道之主从gerrit配置使用replication插件

    gerrit配置使用replication插件 最终实现的效果如下图所示 实现员工下带代码从一个从gerrit下载,上传代码到主gerrit上. 首先是主gerrit服务器上面要配置一下ssh相关的 ...

  9. 采用config方式灵活配置我们的Quarz.net中的Job,Trigger

    经常在项目中遇到定时任务的时候,通常第一个想到的是Timer定时器,但是这玩意功能太弱鸡,实际上通常采用的是专业化的第三方调度框架,比如说Quartz,它具有功能强大和应用的灵活性,我想使用过的人都非 ...

最新文章

  1. javascript onmouseout问题解决方案
  2. 微信小程序中的渐变色
  3. 硬核!尽量避免 BUG 手法
  4. 元器件基础知识--排阻命名
  5. Android 动态设置 layout_centerInParent
  6. [vue] 怎么解决vue打包后静态资源图片失效的问题?
  7. java怎么连elk_从Java应用程序登录到ELK而无需解析日志
  8. Normalize.css的使用及下载
  9. 蓝屏代码大全 蓝屏全攻略
  10. 【matlab智能算法一函数学习】Matlab聚类分析(Cluster Analyses)
  11. JAVA 滑块拼图验证码
  12. Matlab基础(5)——符号运算
  13. 企业如何做好品牌推广工作?
  14. 【嵌入式Linux】开发环境搭建
  15. 网站更换国外服务器,备案被注销替换外国服务器?这样合理吗?
  16. 将word 转换为图片(word to pdf ->pdf to image)
  17. 5大巨头入场瓜分3万亿市场!加密世界vs.互联网史诗战争将打响!
  18. 【完美解决】org.apache.catalina.core.StandardContext.filterStart 启动过滤器异常
  19. windows下使用命令行运行PHP
  20. python-脚本自动生成二维码QRcode/quick response code

热门文章

  1. 黑色星期五是不是计算机病毒,黑色星期五是计算机病毒么?
  2. MyDockFinder Steam版的新增功能和下载
  3. 深入浅出 Kubernetes 1.11 之 device-plugins
  4. 【ARMv8 异常模型入门及渐进 9 - FIQ 和 IRQ 区别】
  5. 六个office免费学习的精品教程 office自学教程让你从小白到高手
  6. 关于复杂系统思想与语言研究的思考
  7. Android----------Diglog对话框
  8. Openjudge-NOI题库-和数
  9. MATLAB入门教程(4):矩阵的生成
  10. wps文档打不开该怎么修复呢?