1. 程式人生 > >Gerrit 與 Jenkins 整合配置的最快上手一站式說明(2014年新版)

Gerrit 與 Jenkins 整合配置的最快上手一站式說明(2014年新版)

所用的軟體版本: Jenkins 1.545, 1.551 Gerrit 2.8.1 網上能找到的教程多半是針對舊版的Gerrit,而官網新版Gerrit有不少介面和選項都已經不同了,在此特針對新版說一下要點。 Jenkins的安裝相對簡單,參照官網或網上教程介紹,用apt/yum進行源的配置、下載安裝即可。 配置檔案: /etc/defaults/jenkins (Ubuntu) 或 /etc/sysconfig/jenkins (CentOS)。主要是修改合適的埠。 Gerrit安裝和基本配置比較繁瑣,參見: 假定Gerrit安裝所在機器名為linuxserver;jenkins在Gerrit中的使用者名稱為jenkins。 要點:建好Gerrit中的jenkins使用者後,將其加入組:Non-Interactive Users。(該組預設就已有監聽Stream Events許可權,所以不需要像其他一些教程那樣額外單獨建Event Streaming Users組的步驟。Steam Events的原理是:Gerrit收到程式碼提交後,會以event的形式發給Jenkins,從而觸發Jenkins自動構建。)
Jenkins配置如下: 安裝及配置Gerrit Trigger 通過Plugin Manager安裝Git Plugin和Gerrit Trigger(會自動連帶安裝SSH Agent Plugin),不需要裝其他帶Gerrit字樣的外掛。 進入 Manage Jenkins - Gerrit Trigger,配置引數後Test Connection應能成功,否則請檢查unix帳號jenkins的public key是否已正確新增到Gerrit裡的對應使用者中。 在Gerrit Reporting Values小節,建議將Verify和Code Review中的Successful設為+1,Failed設為-1,這樣可以在Jenkins自動構建成功或者失敗後向Gerrit直觀地反映其結果(見附1)。Verify一節的值在新版Gerrit裡應該是用不到了的,參見下一段。
點開Advanced以後,必須將Gerrit Verified Commands小節下各個命令中--message後的單引號改為雙引號(否則當Jenkins向Gerrit發ssh gerrit review訊息時會出現引數解析出錯的問題,見https://code.google.com/p/gerrit/issues/detail?id=800),並去掉--verify引數(應該是這一新版的Gerrit將該引數捨棄了)。 例如Successful的命令: 修改前:gerrit review , --message 'Build Successful ' --verified --code-review 修改後:gerrit review , --message "Build Successful " --code-review
Job設定 新建job(或叫project,1.551裡也叫item)後,Source Code Management小節配置如下圖: (1) Repository URL根據實際環境中Gerrit提供的git repo地址填寫; (2) Refspec=$GERRIT_REFSPEC(點開Advanced可見), (3) Branch Specifier=$GERRIT_BRANCH, (4) Additional Behaviors 新增一個Strategy for choosing what to build,選 Gerrit Trigger。這幾項需按照圖中配置才能獲得正確的ref和branch進行編譯。關於這些變數的詳情,可以在Gerrit事件觸發以後通過主選單的Query and Trigger Gerrit Patches或者job執行記錄的Parameter中看到(附3)。
Build Triggers 小節配置如下圖: (1) 選中 Gerrit event (2) Choose a server視情況選擇Any Server或具體特定server。 (3) Check non-reviewed patchsets 涉及到Jenkins啟動重連後檢查尚未review的patchset,視實際需要選擇。
(4) Trigger on可以不配,不配的話儲存job後會預設自動選中事件 Patchset Created(最關鍵的就是這個事件,是提交程式碼後就觸發的事件) 和 Draft Published (5) Gerrit Project需填完整 Pattern 和 Branches 內容才有效,例如Type選Plain,值填、Branches的Type選Plain、值填master;或Type選Path,Pattern填**,Branches的Type選Path,Pattern填**匹配任何project和branch,更詳細的介紹可點相應問號檢視。 (6) 建議選中 Advanced 下的 Do not pass compound 'name and email' parameters ,否則構建時(例如使用maven時)很可能出錯。諸如此類Jenkins傳引數給Gerrit的問題後續還有多處地方可能出現,如果遇到整合不正常,可用附2的除錯方法來排查。 這樣配置下來,Jenkins與Gerrit就基本連通了。 驗證: 以開發者帳號從Gerrit clone出程式碼,修改,git commit(記得事先拷貝好.git/hook/commit-msg), git push origin HEAD:refs/for/master,就應該能看到Jenkins收到新的程式碼、構建、反饋結果給Gerrit,之後其他審查者就可以在這套經過自動化構建驗證過的程式碼上進行人工review了。 附1:展示構建成功或失敗後,Gerrit中的顯示效果。成功的效果如下: 構建失敗: 附2:檢視Jenkins和Gerrit除錯日誌的方法: Jenkins:      tail -F /var/log/jenkins/jenkins.log & ; ssh [email protected] -p 29418 gerrit stream-events Gerrit:      tail -F /logs/*log 附3:Gerrit觸發事件的引數詳情示例

相關推薦

Gerrit Jenkins 整合配置上手一站式說明2014新版

所用的軟體版本: Jenkins 1.545, 1.551 Gerrit 2.8.1 網上能找到的教程多半是針對舊版的Gerrit,而官網新版Gerrit有不少介面和選項都已經不同了,在此特針對新版說一下要點。 Jenkins的安裝相對簡單,參照官網或網上教程介紹,用apt/yum進行源的配置

前17名喜歡的作業系統黑客2017名單

宣告:文章轉載自--QQ興趣部落 中國之利刃 小酋長 微軟支付24000美元黑客黑客Outlook帳戶

applicationContext-mail.xml SpringjavaMail整合配置檔案

<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XM

RobotFrameworkJenkins整合後構建成功率高於設定閾值但總是顯示失敗

摘要:robot執行後總是失敗 1.在配置jenkins的job時,新增構建步驟Execute Windows batch command,輸入執行robotframework測試用例命令   2.然後jenkins安裝robotframework外掛,新增構建後操作,Publish Ro

springhibernate整合配置檔案含連線池

spring的整個配置內容,對於專案整合最好是分開 <?xml version="1.0" encoding="UTF-8"?> <beans xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

配置的yum源】為fedora19/20配置的yum源

新增yum源前先安裝fastestmirror/downloadonly外掛和axelget外掛:  1.安裝fastestmirror/downloadonly外掛  由於yum中有的mirror速度是非常慢的,如果yum選擇了這個mirror,這個時候yum就會非常慢,對此,可以下載fastestmir

RabbitMQspring整合,配置完整的生產者和消費者

    RabbitMQ與AMQP協議詳解可以看看這個  http://www.cnblogs.com/frankyou/p/5283539.html 下面是rabbitMQ和spring整合的配置,我配置了二種ExCahange:  topicExchange和direc

FlumeHive整合-配置檔案

轉自: https://blog.csdn.net/u013360689/article/details/80361278 https://yq.aliyun.com/ziliao/343865 https://henning.kropponline.de/2015/05/19/hive

Tomcat7jenkins配置安裝排坑向

。conf目錄下的server.xml檔案可以配置埠號,預設是8080,如果跟其他專案有衝突可以自行修改。 3.外掛安裝 1)如圖,開啟外掛管理介面 2)外掛管理介面如下 需要安裝的外掛有:Android Lint Plugin,Gradle Plugin,Subversion Plu

mybatisSpring整合配置檔案

<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:p="http://www.springfram

SpringMyBatis整合--配置檔案

在JAVA專案下建立lib資料夾,將jar包放進lib資料夾,進行配置。將MyBatis的配置檔案mybatis-config.xml和Spring的配置檔案app.xml放在src目錄下。 這是mybatis的配置檔案 這是Spring的配置檔

red5 tomcat整合配置 簡單入門例項

這裡不再介紹什麼是red5了,直接寫配置。 我用的是red5 0.8版,首先從網上下載兩個檔案:red5-war-0.8.0.zip 和 setup-Red5-0.8.0.exe,將red5-war-0.8.0.zip 解壓,得到root.war, 1.將root.war

Powershelljenkins整合部署的運用powershell運用

powershell簡介: 遠端管理採用的一種新的通訊協議,Web Services for Management,簡稱WS-MAN它通過http或者https進行工作,WS-WAN的實現主要基於一個後臺服務:Windows遠端管理(WinRM)。Server

gitblitjenkins整合推送構建通知

<p>##gitblit與jenkins推送整合</p><p>來源:https://voat.

.net持續整合sonarqube篇之 sonarqubejenkins整合(命令模式)

系列目錄 Sonarqube結合Jenkins與常見問題 我們引入sonarqube元件的最終目的是要為整個Ci環境服務的,如果不能集成於當前的Jenkins CI,那麼我們做的很多關於sonarqube的工作都將是徒勞的.然而這一點幾乎不用擔心,因為我們從前面的講解可以看到我們的構建操作都是通過命令列來

.net持續整合sonarqube篇之 sonarqubejenkins整合(外掛模式)

系列目錄 Jenkins通過外掛整合Sonarqube 通過上一節我們瞭解瞭如何配置以使jenkins ci環境中可以執行sonarqube構建,其實Sonarqube官方也提供了jenkins外掛以便更方便的管理.使用外掛來執行sonarqube專案有以下優點 1.可以很清楚的看到專案是Sonarqub

【模式識別機器學習】——大似然估計 MLE 大後驗概率MAP

1) 極/最大似然估計 MLE 給定一堆資料,假如我們知道它是從某一種分佈中隨機取出來的,可是我們並不知道這個分佈具體的參,即“模型已定,引數未知”。例如,我們知道這個分佈是正態分佈,但是不知道均值和方差;或者是二項分佈,但是不知道均值。 最大似然估計(MLE,Maximum Likelihood Esti

長公共子串長公共子序列動歸實現

什麼是子序列?一個給定的序列的子序列,就是將給定序列中零個或多個元素去掉之後得到的結果。 什麼是子串?給定串中任意個連續的字元組成的子序列稱為該串的子串。(相對於子序列,子串是連續的) 如abcde

如何速度ps入門迅速製作海報,logo等等

之前一直有人問我關於如何做海報,如何做徽章之類的問題。起初我推薦他們去看oeasy的ps教程,但是該教程比較系統,需要的時間較長,無法滿足他們在較短的時間出作品的願望。於是我想把我自己的經歷教給他們。要想最快的產出作品,要先想著自己想要什麼效果。比如,我想做關於讀書活動的海報,我要將書本圖片放到海報

【LeetCode & 劍指offer刷題】棧隊列題5:59 隊列滑動窗口大值

blog 自定義 max while weight ++ 使用 type index 【LeetCode & 劍指offer 刷題筆記】目錄(持續更新中...) 59 隊列(滑動窗口)的最大值 題目一:滑動窗口的最大值 給定一個數組和滑動窗口的大小,找出所有滑動