环境准备:
- Jenkins
- Gerrit
一、Gerrit及Jenkins配置
1、Gerrit 创建jenkins
用户,并将该账号添加到 Service Users
群组
在Gerrit 3.3 之前的版本,'Service Users' 群组名为 'Non-Interactive Users'
2、生成ssh密钥。本文Jenkins是使用docker部署的,直接拷贝宿主机的.ssh
目录到/var/jenkins_home/.ssh
。
3、登陆jenkins
账户,添加SSH keys
4、创建测试项目test
5、Jenkins安装 Gerrit Trigger 插件
6、设置Gerrit Trigger
,配置完成,点击Test Connection
![](https://img.haomeiwen.com/i3868003/33d5a378cf9693fe.png)
配置选项介绍
- Name:Gerrit Server标识名,可任意填
- Hostname:Gerrit服务器IP
- Frontend URL:Gerrit前端网页地址
- SSH Port:Gerrit ssh端口
- Username:Gerrit用户名,步骤1中创建的
jenkins
用户- SSH Keyfile:Jenkins容器中ssh密钥路径
7、配置Jenkins任务构建成功后触发gerrit verify +1
![](https://img.haomeiwen.com/i3868003/571b8f9b455a6dff.png)
遇到的问题:
1、配置SSH Keyfile
提示"/var/jenkins_home/.ssh/id_rsa" is not a valid key file.
解决:参考https://stackoverflow.com/questions/64276909/jenkins-gerrit-trigger-var-lib-jenkins-ssh-id-rsa-is-not-a-valid-key-file,使用ssh-keygen -m PEM
重新生成ssh
二、测试
1、创建任务,如下图勾选Gerrit event
触发器,选择配置Gerrit Trigger Server
,并配置要监听的仓库和分支。
![](https://img.haomeiwen.com/i3868003/9e9a337b93937e08.png)
2、本地clone
test
项目,提交一个修改,检查是否可以自动触发3、提交后,Jenkins任务自动触发
![](https://img.haomeiwen.com/i3868003/85b8e8e98bae56a8.png)
网友评论