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

image.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

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,并配置要监听的仓库和分支。

image.png
2、本地clonetest项目,提交一个修改,检查是否可以自动触发
3、提交后,Jenkins任务自动触发
image.png
上一篇 下一篇

猜你喜欢

热点阅读