登录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
复制.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 组
配置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
Web界⾯中确保Jenkins中已安装Gerrit Trigger plugin
在Manage Jenkins > Manager Plugins >Installed 中检查
在Manage Jenkins 点击Gerrit Trigger进⼊配置
选择Add New Server
填写相关内容
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所使⽤的私钥⽂件
点击此⾯中的Test connection 按钮,进⾏连接测试。显示Success,则服务器连接正常,
保存后,启动 GERRIT SERVERS
Gerrit服务器配置完成。
注意:
如果报错403,则可能是使⽤IP或者⾮统⼀域名,可以在Jenkins Manage Jenkins > Security >
Configure Global Security > CSRF Protection 关闭跨域保护。