1. 程式人生 > >持續整合(CI)工具------Hudson/Jenkins(Continuous Integration)安裝與配置詳解

持續整合(CI)工具------Hudson/Jenkins(Continuous Integration)安裝與配置詳解

文章概述:

一、 描述了持續整合工具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為執行的埠號,隨意指定

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

訪問方式: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}-顯示Jenkins伺服器的地址。(你能在系統配置頁改變它)
${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,這裡不詳細概述了,上述的配置是作者目前在用的配置