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