Gerrit 与 jenkins集成


登录jenkins 服务器 切换到jenkins用户并生成秘钥

[root@Jenkins-dev ~]# su – jenkins
[root@Jenkins-dev ~]# ssh-keygen -m PEM -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa): 
Created directory '/root/.ssh'.
Enter passphrase (empty for no passphrase): 
Enter same passphrase again: 
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:/uVbSKtFgnN96qe8ejdvha4zaWc86ESf02dVQm/fOMc root@Jenkins-dev
The key's randomart image is:
+---[RSA 3072]----+
|              .  |
|             . . |
|              . +|
|         . .   =+|
|        S o = +.E|
|       . o = *.=o|
|        .   B== =|
|         . OB.Xoo|
|          +=X% =.|
+----[SHA256]-----+
[root@Jenkins-dev ~]#

拷贝公钥到Gerrit 自动化执行用户(jenkins)

[root@Jenkins-dev ~]# cat .ssh/id_rsa.pub 
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDBVBCZzjgEKyIp0IT3/m5AHvdUcvXs2uiU8LRmVLbURDz7t0LmR0Oii/kUdX2bAP3bCJ5DFtQgj97iR5LB/h8B82t9y2lMKegNFo/rkLpJXsvOUTdh9uAko01LoC8s0+1AdTmhIt50DCgEhYOl62KpEY+3x0CP7vXcNEezj7etB93FzjCWz2QiYvSCHzZ9rG44lrJn7zbpddH0C9EoxlwQ2Z23hazis4q20DhbbjRzdBcY/SKctdt0TSvjb5ULw2PXxQ/xfSiqivBGDH9ozi3zNEeGpZlGlpMBlElIWIN284Jp75b3X2UbpvqoyocTm7/xeJnAWj+Mbdg2lKRQ11NcDbUooqVS2UcRq7sAXesZ/o5dZ2+WuYnX9Epy/0sp1l++Mjh816Zci4113EZs3lQR4k5EWU5SJA1a/QfYF4xIeRI3nfy73vdNCXi9EXX7ZapdNcOAzwiRrbwoawZfuP98cocYf2jeIQCFwDAuGoPWuA50lvzbKLG7uNby0l7vjy0= root@Jenkins-dev

image

复制.ssh/ 文件夹到 /var/lib/jenkins 目录并授权

[root@Jenkins-dev ~]# cp -r .ssh/ /var/lib/jenkins
[root@Jenkins-dev ~]# chown -Rf jenkins.jenkins /var/lib/jenkins/

将jenkins用户加入 Service Users 组

image

配置Service Users 组权限

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
Stream Events:ALLOW for Service Users

image

Web界⾯中确保Jenkins中已安装Gerrit Trigger plugin

在Manage Jenkins > Manager Plugins >Installed 中检查

image

在Manage Jenkins 点击Gerrit Trigger进⼊配置

image
选择Add New Server
image
填写相关内容
Hostname: Gerrit 相关主机IP地址或者域名
Frontend URL: Gerrit Repository 对应URL
SSH Port: Gerrit提供的ssh服务,⾮操作系统提供的,默认端⼝为29418
UserName: Jenkins 整合 Gerrit时,在Gerrit中配置的相关⽤户
SSH Keyfile: Jenkins整合 Gerrit时,ssh所使⽤的私钥⽂件

填写相关内容
Hostname: Gerrit 相关主机IP地址或者域名
Frontend URL: Gerrit Repository 对应URL
SSH Port: Gerrit提供的ssh服务,⾮操作系统提供的,默认端⼝为29418
UserName: Jenkins 整合 Gerrit时,在Gerrit中配置的相关⽤户
SSH Keyfile: Jenkins整合 Gerrit时,ssh所使⽤的私钥⽂件
image

点击此⾯中的Test connection 按钮,进⾏连接测试。显示Success,则服务器连接正常,
保存后,启动 GERRIT SERVERS
image
image
Gerrit服务器配置完成。
注意:
如果报错403,则可能是使⽤IP或者⾮统⼀域名,可以在Jenkins Manage Jenkins > Security >
Configure Global Security > CSRF Protection 关闭跨域保护。

配置Jenkins pipeline项⽬设置Gerrit triger将会触发的pipeline,在项⽬的配置中设置:

image

image

image

image

image


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM