Jenkins介紹
Jenkins是一個開源的Java Web項目,一個持續集成的Web項目。例如在自動化測試中,開發了自動化測試的腳本,不可能一直用IDE來運行,然後查看測試結果,這個時候我們就需要藉助一個平臺,可以自動獲取最新代碼,編譯並構建,並且是在設置的時間持續執行,自動化完成這些步驟以後並把測試的結果以郵件的形式發送給指定的開發,測試人員,這是Jenkins在自動化測試上的主要用途。
這篇博文旨在把一些零散的資料集中起來,加上我在工作中使用Jenkins時碰到的問題的一個總結。
安裝步驟
首先從官網下載Jenkins的工程包 http://mirrors.jenkins-ci.org/war/latest/jenkins.war
可以看到,這是一個Java Web項目的war文件,有兩種方式來部署Jenkins:
通過Tomcat來部署,跟部署一般的Web項目一樣進行,如果需要修改Jenkins的根目錄,需要設置環境變量,變量名:JENKINS_HOME,變量值:需要設置的路徑,然後重啓tomcat即可。
直接通過java命令來部署,通過命令行進入jenkins.war的文件夾中,然後執行命令 java -jar jenkins.war,最後看到如圖所示的結果,即部署完成
第二種方式更爲簡單點,如果需要部署的服務器上已經有tomcat的環境,並且想用tomcat來統一管理web系統,可以選擇第一種方式。
第二種方式的jenkins根目錄文件夾是C:\Users\<用戶名>\.jenkins
輸入 localhost:8080即可進入Jenkins的主頁
點擊Manage Jenkins進入Jenkins的管理界面,在Install as Windows Service中可以修改Jenkins的根目錄文件夾
修改成需要的路徑以後點擊Install
完成安裝以後,Jenkins會以windows server的方式啓動,在開始中執行service.msc命令,查看jenkins service
當然,也可以通過命令 service remove jenkins 來卸載。
Jenkins配置
Jenkins部署完成後就可以開始配置任務了,點擊New Item按鈕後進入項目類型選擇的界面,在配置任務之前,需要安裝一些必要的插件,Manage Jenkins -> Manage Plugins -> Available
搜索下面幾個重要插件並安裝
Subversion Plug-in : SVN插件
Maven Integration plugin :Maven插件
Credentials Plugin: 憑證管理插件
Environment Injector Plugin: 環境變量引入插件
Email Extension Plugin: 郵件擴展插件
插件安裝完成後開始配置任務,新建一個項目,輸入項目名稱,因爲我的自動化測試框架和腳本是Maven項目,方便管理第三方插件,所以項目選擇中選Maven Project
下面圖文介紹參數的意義
如果執行計劃不知道怎麼設置,可以點擊旁邊的問號作爲參考
簡單說就是5個字符,從左到右的意思依次是:分鐘,小時,日,月,星期
我一般的設置是 H 10-17 * * 1-5,表示週一到週五,從上午10點到下午5點,每個小時執行一次。基本覆蓋了工作的時間。
一個簡單的任務就配置完了。
其它配置
Jenkins管理配置
JDK配置,把服務器上的Java環境貼上去就可以了
Maven
郵件配置,這個配置比Jenkins自帶的郵件功能要強大,是上文提到的郵件插件。
另外提供一個比較完整的郵件內容模板,粘貼到Default Content即可。
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>${ENV, var="JOB_NAME"}-第${BUILD_NUMBER}次構建日誌</title>
</head>
<body leftmargin="8" marginwidth="0" topmargin="8" marginheight="4"
offset="0">
<table width="95%" cellpadding="0" cellspacing="0"
style="font-size: 11pt; font-family: Tahoma, Arial, Helvetica, sans-serif">
<tr>
<td>(本郵件是程序自動下發的,請勿回覆!)</td>
</tr>
<tr>
<td><h2>
<font color="#0000FF">構建結果 - ${BUILD_STATUS}</font>
</h2></td>
</tr>
<tr>
<td><br />
<b><font color="#0B610B">構建信息</font></b>
<hr size="2" width="100%" align="center" /></td>
</tr>
<tr>
<td>
<ul>
<li>項目名稱 : ${PROJECT_NAME}</li>
<li>構建編號 : 第${BUILD_NUMBER}次構建</li>
<li>SVN 版本 : ${SVN_REVISION}</li>
<li>觸發原因 : ${CAUSE}</li>
<li>構建 URL : <a href="${BUILD_URL}">${BUILD_URL}</a></li>
<li>工作目錄 : <a href="${PROJECT_URL}ws">${PROJECT_URL}ws</a></li>
</ul>
</td>
</tr>
<tr>
<td><b><font color="#0B610B">構建項目描述</font></b>
<hr size="2" width="100%" align="center" /></td>
</tr>
<tr>
<td><pre
style="font-size: 11pt; font-family: Tahoma, Arial, Helvetica, sans-serif">${JOB_DESCRIPTION}</pre>
<br /></td>
</tr>
<tr>
<td><b><font color="#0B610B">失敗的測試結果</font></b>
<hr size="2" width="100%" align="center" /></td>
</tr>
<tr>
<td><pre
style="font-size: 11pt; font-family: Tahoma, Arial, Helvetica, sans-serif">${FAILED_TESTS}</pre>
<br /></td>
</tr>
<tr>
<td><pre
style="font-size: 11pt; font-family: Tahoma, Arial, Helvetica, sans-serif">具體請查看附件build.log</pre>
<br /></td>
</tr>
</table>
</body>
</html>
郵件發送觸發方式全部打勾
項目的郵件配置如下