当前位置: 首页 > news >正文

jenkins整合gerrit

背景

公司项目之前使用jenkins整合了gitlab,后面代码迁移到gerrit,所以需要修改jenkins配置。下面就简单的介绍一下jenkins如何整合gerrit。

环境

服务器:linux
环境:docker、jenkins
代码仓库:gerrit

前提

docker、jenkins安装,自行百度。
gerrit仓库账号密码,自行申请。

流程

gerrit仓库访问权限配置

1、在Gerrit平台注册一个jenkins用户,然后设置一个SSH key。

2、Gerrit Web页面,进入Browse > Groups > Service Users,将jenkins 用户添加到这个分组中。(Gerrit v3.3之前的CI组名称为Non-Interactive Users)
在这里插入图片描述

3、Gerrit Web页面,Browse > Repositories > [仓库名称] > Access > Edit

  • Reference: refs/*
    • Read: ALLOW for Service Users
  • Reference: refs/heads/*
    • Label Code-Review: -1, +1 for Service Users
    • Label Verified: -1, +1 for Service Users

4、需要在gerrit配置公钥。因为我是用的docker,需要进入jenkins容器:docker exec -it jenkins bash,创建ssh密钥:

$ ssh-keygen -m PEM -t rsa -C "邮箱地址"
ssh-keygen -m PEM -t ed25519 -C "邮箱地址"

生成密钥的路径:

/var/jenkins_home/.ssh/id_rsa
/var/jenkins_home/.ssh/id_ed25519

可以使用docker cp指令,复制出公钥(/var/jenkins_home/.ssh/id_rsa.pub)。
docker cp命令参考:
在这里插入图片描述
将公钥配置到gerrit的ssh里面。如下,私钥配置在jenkins里面,见下文截图。
在这里插入图片描述

jenkins配置

首先需要在jenkins的系统管理–插件管理,下载Gerrit Trigger插件,下载完成后。配置新gerrit服务。
1、在这里插入图片描述

2、
在这里插入图片描述
3、
在这里插入图片描述
输入后,可以test一下,是否现实success。

新建item

1、在这里插入图片描述
备注一下:如果项目需要引入有变动的jar,还是建议构建maven项目,自由风格项目不会加载你变更后的jar内容。

2、在这里插入图片描述
3、在这里插入图片描述
4、
在这里插入图片描述
5、在这里插入图片描述

6、在这里插入图片描述
7、在这里插入图片描述
8、在这里插入图片描述
构建的docker容器。

#/bin/bash
# 注意 其实在这里输入的命令,就是在服务器上的命令,我们所处于的位置就是当前登录用户的根目录下 echo ">>>>>>>>>>>>>cd 到宿主机映射 Jenkins 的项目路径下>>>>>>>>>>>>>"
cd xx#服务名称
SERVER_JAR=xx#查询进程,并杀掉当前jar/java程序
pid=`ps -ef|grep $SERVER_JAR| grep -v grep | awk '{print $2}'`kill -9 $pidecho ">>>>>>>>>>>>>$pid进程终止成功>>>>>>>>>>>>>"echo ">>>>>>>>>>>>>停止容器>>>>>>>>>>>>>"docker stop xxecho ">>>>>>>>>>>>>删除容器>>>>>>>?>>>2>22"docker rm xxecho ">>>>>>>>>>>>>删除镜像>>>>>>>>>>>> >"docker rmi xx:1.0echo ">>>>>>>>>>>>>制作镜像>>>>>>>>>>>>>"docker build -f Dockerfile -t xx:1.0  .echo ">>>>>>>>>>>>>启动容器>>>>>>>>>>>>>"docker run -p 8891:8891 -p 8892:8892 --name athena -d -v /xx:/athena/tmp -v /usr/share/zoneinfo:/usr/share/zoneinfo xx:1.0echo ">>>>>>>>>>>>自动部署结束>>>>>>>>>>>>>"

最后执行就可以了。

http://www.lryc.cn/news/197709.html

相关文章:

  • PMP考完后应该考什么?
  • 科技资讯|苹果Vision Pro可通过手势ID检测不同用户
  • CUDA编程模型- 层次结构
  • 国际站阿里云服务器无法安装程序怎么办?
  • 基于Vue+webpack之H5打包资源优化
  • C#中DataAdapter对象
  • Nginx正向代理,反向代理,负载均衡
  • 安防视频监控平台EasyCVR出现视频流播放卡顿情况,如何优化?
  • VRRP基础
  • 虚实融合 智兴百业 | 赵捷副市长莅临拓世科技集团筹备展台指导,本月19号!拓世科技集团与您相约世界VR产业大会
  • 2000-2023年省市县人工智能企业数量数据
  • CSP模拟58联测20 牵着她的手
  • 电脑版便签软件下载用哪个?
  • 别再卷组件库了,Vue 拖拽库都断代了!
  • 利用服务器打造创新的在线社区
  • CSS动画实现节流
  • Apache Log4j Server (CVE-2017-5645) 反序列化命令执行漏洞
  • 视口 css
  • Puppeteer记录操作过程及优秀的开源插件(五)
  • 联邦学习+梯度+梯度剪枝
  • 提高研发效率还得看Apipost
  • Elasticsearch使用——结合MybatisPlus使用ES es和MySQL数据一致性 结合RabbitMQ实现解耦
  • 什么是CSGO大行动,2023年CSGO大行动时间预测
  • Pycharm中终端不显示虚拟环境名解决方法
  • 某翻译网站webpack 全扣js逆向法
  • 【C++】C++11 ——— 可变参数模板
  • ros2 UR10仿真包运行
  • flutter开发实战-安卓apk安装、卸载、启动实现
  • AI绘画使用Stable Diffusion(SDXL)绘制玉雕风格的龙
  • 上位机在自动化中有何作用和优势?