登錄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 關閉跨域保護。