Gerrit+2触发Jenkins任务

本文档详细介绍了如何配置Jenkins与Gerrit的集成,包括在Linux上生成SSH密钥,Gerrit创建用户并授权,Jenkins安装GerritTrigger插件,设置触发条件,以及构建流程。当在Gerrit上对代码进行+2操作时,Jenkins将自动触发构建,实现持续集成。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.Linux创建秘钥

cd /var/lib/jenkins

如果没有 .ssh 目录,需要手动创建
mkdir .ssh

创建秘钥
ssh-keygen -m PEM -t rsa -C “zhangsan@xxx.com” -f /var/lib/jenkins/.ssh/id-rsa

修改权限
chmod -R 777 .ssh

2.Gerrit创建用户

Gerrit创建 zhangsan 用户
[root@gerrit /]# htpasswd -m /gerrit.password zhangsan

使用 zhangsan 用户 登录 Gerrit 设置 SSH Keys
填写内容是 /var/lib/jenkins/.ssh/id-rsa.pub 里面的内容

HTTP Credentials,CREATE NEW PASSWORD,此处秘钥有很大用处,要牢记
SL1rsmf6WIcvnYqEgHhajS2cZL+IqrLLEJQ8OA2dJg

授权用户 zhangsan 对 test1 项目有权限

3.Jenkins配置Gerrit Trigger

Gerrit Trigger – Add New Server –
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

4.Jenkins创建工程test_gerrit_sonarqube

4.1 General

丢弃旧的构建
策略:Log Rotation
保持构建的天数:180 # 此项可以自由配置,不做强制
保持构建的最大个数:180 # 此项可以自由配置,不做强制
在这里插入图片描述

4.2 源码管理

Multiple SCMs
Git
Repositories
Repository URL: 填写用户 zhangsan 对应的HTTP 连接地址:http://zhangsan@192.168.120.11:8080/a/test1
Credentials: 填写 zhangsan 用户和对应的HTTP 秘钥SL1rsmf6WIcvnYqEgHhajS2cZL+IqrLLEJQ8OA2dJg 创建的凭据
Refspec: 填写 refs/changes/*:refs/changes/*
在这里插入图片描述

Branches to build
指定分支(为空时代表any):填写 $GERRIT_REFSPEC
源码库浏览器:(自动)
在这里插入图片描述

Additional Behaviours
Strategy for choosing what to build
Choosing strategy: 填写 Gerrit Trigger
检出到子目录
仓库的本地子目录:填写 ${WORKSPACE}/test ,就是Gerrit仓库中的代码clone到本地存放路径,如果此处是固定值,代码每次就会拉取最新的代码,如果是一个变量,则每次拉取代码都会拉取完整项目代码,所以,建议此处是一个固定值,这样每次只会拉取新的代码
在这里插入图片描述

高级的克隆行为
选中 Fetch tags
克隆和拉取操作的超时时间(分钟):填写 60 ,如果项目代码量过大,需要填写,否则jenkins任务执行时,拉取代码超时
在这里插入图片描述

4.3 构建触发器

Gerrit event
Gerrit Trigger
Choose a Server:填写 Jenkins 设置的 Gerrit Trigger 名称:Gerrit-2
在这里插入图片描述

Trigger on:此选项就是Gerrit触发Jenkins任务的条件
Comment Added Verdict Category:Code Review
Value:2 含义就是 Gerrit +2 时,触发Jenkins任务执行,每当+2时就执行一遍,别的方式不执行
在这里插入图片描述

Dynamic Trigger Configuration
Gerrit Project
Type: Plain # 选中
Pattern: test1 # 填写项目名称
Branches
Type:Path # 如果Pattern选中所有分支**,则此处必须选中Path,否则无法触发Jenkins任务执行
Pattern:** # 表示选中该项目所有分支在这里插入图片描述

4.4 构建环境

没有修改

4.5 构建

ls -l ${WORKSPACE}/test

在这里插入图片描述

4.6 构建后操作

没有修改

5.项目提交代码

5.1 commit

在这里插入图片描述

5.2 push

在这里插入图片描述

5.3 Gerrit

在这里插入图片描述
在这里插入图片描述

此时没有触发Jenkins任务执行,当在Gerrit中对代码 +2 操作
在这里插入图片描述

Jenkins任务会执行,可以点击 g34,跳转到Gerrit提交的代码展示页面
在这里插入图片描述

当Jenkins任务执行完毕之后,Gerrit可以看到提示信息
在这里插入图片描述

6.后续

以上步骤就完成了Jenkins和Gerrit两个工具之间的打通。
后续如果想做 SonarQube扫描、单元测试等等,即可在构建或者构建后操作步骤进行设置

评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

@TangXin

路漫漫其修远兮,吾将上下而求索

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值