Jenkins+Gerrit 持续集成
2024-08-29 本文已影响0人
87d6dc4b11a7
环境准备:
- 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
配置选项介绍
- 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
image.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
,并配置要监听的仓库和分支。
2、本地clone
test
项目,提交一个修改,检查是否可以自动触发3、提交后,Jenkins任务自动触发
image.png