1. 程式人生 > >持續集成(CI)工具------Hudson/Jenkins(Continuous Integration)安裝與配置具體解釋

持續集成(CI)工具------Hudson/Jenkins(Continuous Integration)安裝與配置具體解釋

壓縮 esc 頂部 ast 作者 paths fine 目錄 apache

本文同意轉載。但請標明出處:http://blog.csdn.net/wanghantong/article/40985653/, 版權全部

文章概述:

一、 描寫敘述了持續集成工具Hudson的安裝與配置

二、 描寫敘述了Git 、Maven環境的安裝與配置

三、 描寫敘述了擴展郵件通知及其配置方法

四、 描寫敘述了jira的配置

一、Hudson簡單介紹

Hudson是Jenkins的前身,是基於Java開發的一種持續集成工具。用於監控持續的軟件版本號公布/測試項目

下載地址:http://eclipse.org/downloads/download.php?file=/hudson/war/hudson-3.2.1.war

安裝方式:僅僅要將下載的hudson-3.2.1.war部署到Web容器(Servlet容器)中。並且不須要數據庫的支持

存放文件夾:hudson須要一定的硬盤空間來運行編譯和保存數據,默認的存儲地址是:~/.jenkins OR ~/.hudson

改動存儲地址:在啟動servlet容器之前配置環境變量"JENKINS_HOME"其值是新的存儲地址

執行方式:我們將下載的war包解壓縮。在其依賴的libs目錄中我們發現jetty容器,參見下圖!

技術分享

由此可見,我們直接執行Hudson就可以:進入到hudson-3.2.1.war所在的文件夾下,執行

java -jar hudson-3.2.1.war --httpPort=8765

註意--兩個- 。httpPort=8765 Port要大寫= 左右沒有空格,8765為執行的port號。任意指定

成功啟動後,我們會看到:

技術分享

訪問方式:http://localhost:8765/

假設訪問失敗,請依據上述的註意進行查找改錯。普通情況下都是這些小錯誤引起

Hudson配置:進入http://localhost:8765/manage,進行系統的相關配置

可配置項:

1.系統設置:http://localhost:8765/configure

基於Java的項目:

1.1 首先安裝JDK,配置JAVA_HOME

這裏建議大家自己手動安裝JDK,然後進行路徑配置。不推薦使用Hudson提供的 自己主動安裝 選項,這裏能夠配置多個版本號的JDK

技術分享


1.2 安裝Git,配置Git環境

Git下載地址:http://git-scm.com/download/win

在Windows下,Git為.exe可運行文件,運行安裝,並配置環境變量

在Hudson中進行配置Git,Hudson也支持多個版本號的Git配置

技術分享

1.3 下載安裝配置Maven

Maven下載地址:http://maven.apache.org/download.cgi

建議直接下載.zip格式的就可以,然後直接解壓縮安裝。並配置Maven環境變量

技術分享


1.4 配置extended email notification 擴展的郵件通知

技術分享


郵件表達式具體解釋: ${BUILD_LOG, maxLines, escapeHtml} -顯示終於構建日誌。
maxLines 顯示該日誌最多顯示的行數,默認250行。
escapeHtml -假設為true。格式化HTML。默認false
${BUILD_LOG_REGEX, regex, linesBefore, linesAfter, maxMatches, showTruncatedLines, substText, escapeHtml, matchedLineHtmlStyle} -按正則表達式匹配顯示構建日誌的行數。
匹配符合該正則表達式的行數。參閱java.util.regex.Pattern,默認“(?i)\b(error|exception|fatal|fail(ed|ure)|un(defined|resolved))\b”
linesBefore -包括在匹配行之前的行編號。

行數會與當前的還有一個行匹配或者linesAfter重疊。默認0
linesAfter -包括在匹配行之後的行編號。行數會與當前的還有一個行匹配或者linesBefore重疊,默認0
maxMatches -匹配的最大數量,假設為0。則包括全部匹配。

默覺得0
showTruncatedLines -假設為true,包括[...truncated ### lines...]行。默覺得true
substText -假設非空,把這部分文字插入該郵件。而不是整行。默覺得空。
escapeHtml -假設為true,格式化HTML。默認false
matchedLineHtmlStyle -假設非空。輸出HTML。匹配的行數將變為<b style=”your-style-value”> html escaped matched line </b>格式。默覺得空。


${BUILD_NUMBER} -顯示當前構建的編號。
${BUILD_STATUS} -顯示當前構建的狀態(失敗、成功等等)
${BUILD_URL} -顯示當前構建的URL地址。
${CHANGES, showPaths, format, pathFormat} -顯示上一次構建之後的變化。
showPaths 假設為 true,顯示提交改動後的地址。默認false
format 遍歷提交信息。一個包括%X的字符串,當中%a表示作者,%d表示日期。%m表示消息,%p表示路徑,%r表示版本號。註意。並非全部的版本號系統都支持%d%r。假設指定showPaths將被忽略。

默認“[%a] %m\n”
pathFormat -一個包括“%p”的字符串。用來標示怎麽打印字符串。


${CHANGES_SINCE_LAST_SUCCESS, reverse, format, showPaths, changesFormat, pathFormat} -顯示上一次成功構建之後的變化。


reverse -在頂部標示新近的構建。

默認false
format -遍歷構建信息,一個包括%X的字符串,當中%c為全部的改變。%n為構建編號。默認”Changes for Build #%n\n%c\n”


showPaths, changesFormat, pathFormat 分別定義如${CHANGES}showPathsformatpathFormat參數。


${CHANGES_SINCE_LAST_UNSTABLE, reverse, format, showPaths, changesFormat, pathFormat} -顯示顯示上一次不穩固或者成功的構建之後的變化。
reverse -在頂部標示新近的構建。默認false
format -遍歷構建信息,一個包括%X的字符串,當中%c為全部的改變。%n為構建編號。默認”Changes for Build #%n\n%c\n”
showPaths, changesFormat, pathFormat -分別定義如${CHANGES}showPathsformatpathFormat參數。
${ENV, var} 顯示一個環境變量。
var – 顯示該環境變量的名稱。假設為空,顯示全部。默覺得空。
${FAILED_TESTS} -假設有失敗的測試。顯示這些失敗的單元測試信息。
${JENKINS_URL} -顯示Jenkinsserver的地址。(你能在系統配置頁改變它)
${HUDSON_URL} -不推薦,請使用$JENKINS_URL
${PROJECT_NAME} -顯示項目的名稱。
${PROJECT_URL} -顯示項目的URL
${SVN_REVISION} -顯示SVN的版本。
${CAUSE} -顯示誰、通過什麽渠道觸發這次構建。
${JELLY_SCRIPT, template} -從一個Jelly腳本模板中自己定義消息內容。

有兩種模板可供配置:HTMLTEXT。你能夠在$JENKINS_HOME/email-templates下自己定義替換它。當使用自己主動義模板時,”template”參數的名稱不包括“.jelly”
template -模板名稱,默認”html”


${FILE, path} -包括一個指定文件的內容
path -文件路徑。註意,是工作區文件夾的相對路徑。
${TEST_COUNTS, var} -顯示測試的數量。
var – 默認“total”

  • total -全部測試的數量。

  • fail -失敗測試的數量。
skip -跳過測試的數量。

1.5 Jira配置

這裏僅僅簡述在Hudson中怎樣配置Jira,關於Jira的具體安裝與配置參見博客Jira配置具體解釋一節

技術分享

1.6 其余配置

Hudson還支持SVN、Ant、Shell,這裏不具體概述了,上述的配置是作者眼下在用的配置


持續集成(CI)工具------Hudson/Jenkins(Continuous Integration)安裝與配置具體解釋