Gerrit Trigger配置
目录
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配置相关推荐
- Jenkin 配置 Gerrit Trigger
一.安装Jenkins Gerrit Trigger 插件 安装Gerrit Trigger插件 配置Gerrit server 二.创建 alice_test job 创建 alice_test j ...
- gerrit 搭建配置
Ubuntu 16.04 LTS gerrit 搭建配置 操作系统 Ubuntu16.04 LTS 设置同步时间: sudo apt-get install ntpdate sudo ntpdate ...
- Ubuntu gerrit 安装配置
创建数据库 CREATEUSER'git'@'localhost'IDENTIFIEDBY'git'; CREATEDATABASEreviewdb; ALTERDATABASEreviewdbcha ...
- gerrit安装配置(http反向代理)
我的环境:linux:fedora21 一.软件安装 1.安装git.apache sudo yum install git httpd 2.安装并查看java安装情况: sudo yum insta ...
- Centos之Gerrit邮箱配置-yellowcong
配置Gerrit的邮箱信息,然后设定用户可以注册邮件,最后重启服务.这里需要注意一点的是:有可能你的gerrit启动比较的慢,不要心急,通过ps 查看进程是否挂掉了,如果挂掉了,就说明配置有问题了,如 ...
- gerrit 邮箱配置 及 验证问题
1.邮箱配置 a.163邮箱 [sendemail]#smtpServer = localhostenable = truesmtpServer = smtp.163.comsmtpServerPor ...
- Jenkins+Gerrit创建新工程手顺
1. Gerrit创建新工程 管理员登录Gerrit,Project创建新工程,工程名与远程Git库工程名必须一样. 2. Jenkins配置 > 配置review Jobs Git配置为Ger ...
- Android下的配置管理之道之主从gerrit配置使用replication插件
gerrit配置使用replication插件 最终实现的效果如下图所示 实现员工下带代码从一个从gerrit下载,上传代码到主gerrit上. 首先是主gerrit服务器上面要配置一下ssh相关的 ...
- 采用config方式灵活配置我们的Quarz.net中的Job,Trigger
经常在项目中遇到定时任务的时候,通常第一个想到的是Timer定时器,但是这玩意功能太弱鸡,实际上通常采用的是专业化的第三方调度框架,比如说Quartz,它具有功能强大和应用的灵活性,我想使用过的人都非 ...
最新文章
- javascript onmouseout问题解决方案
- 微信小程序中的渐变色
- 硬核!尽量避免 BUG 手法
- 元器件基础知识--排阻命名
- Android 动态设置 layout_centerInParent
- [vue] 怎么解决vue打包后静态资源图片失效的问题?
- java怎么连elk_从Java应用程序登录到ELK而无需解析日志
- Normalize.css的使用及下载
- 蓝屏代码大全 蓝屏全攻略
- 【matlab智能算法一函数学习】Matlab聚类分析(Cluster Analyses)
- JAVA 滑块拼图验证码
- Matlab基础(5)——符号运算
- 企业如何做好品牌推广工作?
- 【嵌入式Linux】开发环境搭建
- 网站更换国外服务器,备案被注销替换外国服务器?这样合理吗?
- 将word 转换为图片(word to pdf ->pdf to image)
- 5大巨头入场瓜分3万亿市场!加密世界vs.互联网史诗战争将打响!
- 【完美解决】org.apache.catalina.core.StandardContext.filterStart 启动过滤器异常
- windows下使用命令行运行PHP
- python-脚本自动生成二维码QRcode/quick response code