栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 运维 > Linux

Gerrit+2触发Jenkins任务

Linux 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Gerrit+2触发Jenkins任务

文章目录
  • 1.Linux创建秘钥
  • 2.Gerrit创建用户
  • 3.Jenkins配置Gerrit Trigger
  • 4.Jenkins创建工程test_gerrit_sonarqube
    • 4.1 General
    • 4.2 源码管理
    • 4.3 构建触发器
    • 4.4 构建环境
    • 4.5 构建
    • 4.6 构建后操作
  • 5.项目提交代码
    • 5.1 commit
    • 5.2 push
    • 5.3 Gerrit
  • 6.后续

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扫描、单元测试等等,即可在构建或者构建后操作步骤进行设置

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/963040.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号