Jenkins自動化搭建
阿新 • • 發佈:2020-09-14
工具準備
- JDK: jdk1.8.0_111
- Ant: apache-ant-1.9.9
- Jmeter: apache-jmeter-3.1
- Jenkins: jenkins-2.7.4
JDK安裝
- 安裝JDK:
- 雙擊JDK安裝包,選擇安裝路徑,可以採取預設安裝路徑,也可以自定義安裝路徑,為了方便直接安裝在預設路徑下了。安裝路徑:C:\Program Files\Java\jdk1.8.0_111;
- 配置JDK環境變數:
- 系統變數→新建 JAVA_HOME 變數
- 變數值填寫jdk的安裝目錄(本人是 C:\Program Files\Java\jdk1.8.0_111)
- 系統變數→尋找 Path 變數→編輯
- 在變數值最後輸入【;%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;】
- 系統變數→新建 CLASSPATH 變數
- 變數值填寫【 .;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar】 (注意最前面有一點)
- 系統環境變數配置完畢。
- 檢驗是否配置成功 執行cmd 輸入【java -version】(java 和 -version 之間有空格),如果成功,顯示版本號。
Ant安裝
- Ant安裝:
- 解壓apache-ant-1.9.9.zip到D:\CI目錄下;
- 配置Ant環境變數:
- 系統變數→新建 ANT_HOME 變數
- 變數值填寫jdk的安裝目錄(本人是 D:\CI\apache-ant-1.9.9)
- 系統變數→尋找 Path 變數→編輯
- 在變數值最後輸入【;% ANT_HOME%\bin】
- 系統變數→新建 CLASSPATH 變數
- 變數值填寫【 ;% ANT_HOME%\lib】
- 系統環境變數配置完畢。
- 檢驗是否配置成功 執行cmd 輸入【ant -version】(ant 和 -version 之間有空格),如果成功,顯示版本號。
Jmeter安裝
- 安裝Jmeter:
- 解壓apache-jmeter-3.1.zip到D:\jmeter2目錄下;
- 配置JDK環境變數:
- 系統變數→新建 JMETER_HOME 變數
- 變數值填寫jmeter的安裝目錄(本人是 D:\jmeter2\apache-jmeter-3.1)
- 系統變數→尋找 Path 變數→編輯
- 在變數值最後輸入【;%JMETER_HOME%\bin】
- 系統變數→新建 CLASSPATH 變數
- 變數值填寫【;%JMETER_HOME%\lib\ext\ApacheJMeter_core.jar;%JMETER_HOME%\lib\jorphan.jar;%JMETER_HOME%\lib\logkit-2.0.jar;】
- 系統環境變數配置完畢。
- 檢驗是否配置成功 執行cmd 輸入【jmeter -v】(jmeter和 -ve 之間有空格),如果成功,顯示版本號。
Jenkins安裝
- Jenkins安裝檔案,傻瓜式安裝,只需按照提示點選下去即可完成安裝。
Jmeter設定
- 修改jmeter.propertie配置檔案,目的是用於生成html測試報告
- jmeter預設儲存的是.csv格式的檔案以我們先要設定一下【/apache-jmeter-3.1/bin/jmeter.properties】檔案內容,修改jmeter.properties檔案【jmeter.save.saveservice.output_format=xml】
- 將\apache-jmeter-3.1\extras\ant-jmeter-1.1.1.jar拷貝到apache-ant-1.9.9\lib目錄下;
- 新建資料夾JmeterTest
- D:\jmeter2\apache-jmeter-3.1\路徑下新建JmeterTest資料夾,用於存放構建檔案build.xml、報告資料夾
- JmeterTest 目錄下新建report資料夾,用於存放測試生成的jtl形式和html格式的報告檔案;
- JmeterTest檔案路徑下新增build.xml檔案(其中內容需要根據自己本機進行修改)
build.xml具體內容如下所示:
<target name="run">
<antcall target="test" />
<antcall target="report" />
</target>
<target name="test">
<taskdef name="jmeter" classname="org.programmerplanet.ant.taskdefs.jmeter.JMeterTask" />
<jmeter jmeterhome="${jmeter.home}" resultlog="${jmeter.result.jtlName}">
<!-- 宣告要執行的指令碼。"*.jmx"指包含此目錄下的所有jmeter指令碼-->
<testplans dir="D:\jmeter2\apache-jmeter-3.1\demo" includes="*.jmx" />
<property name="jmeter.save.saveservice.output_format" value="xml"/>
</jmeter>
</target>
<path id="xslt.classpath">
<fileset dir="${jmeter.home}/lib" includes="xalan*.jar"/>
<fileset dir="${jmeter.home}/lib" includes="serializer*.jar"/>
</path>
<target name="report">
<tstamp><format property="report.datestamp" pattern="yyyy/MM/dd HH:mm"/></tstamp>
<xslt
classpathref="xslt.classpath"
force="true"
in="${jmeter.result.jtlName}"
out="${jmeter.result.htmlName}"
style="${jmeter.home}/extras/jmeter-results-detail-report_21.xsl" >
<param name="dateReport" expression="${report.datestamp}"/>
</xslt>
<!-- 因為上面生成報告的時候,不會將相關的圖片也一起拷貝至目標目錄,所以,需要手動拷貝 -->
<copy todir="${jmeter.result.html.dir}">
<fileset dir="${jmeter.home}/extras">
<include name="collapse.png" />
<include name="expand.png" />
</fileset>
</copy>
</target>
</project></code>
Jenkins設定
- 安裝【Performance plugin】外掛:
- 進入Jenkins主頁【系統管理->管理外掛->可選外掛】,搜尋【Performance plugin】(Jmeter報告需要),安裝此外掛;
- 安裝【Performance plugin】外掛:
- 進入Jenkins主頁【系統管理->管理外掛->可選外掛】,搜尋【Ant plugin】,安裝此外掛;方法同上訴外掛安裝操作。
- Jenkins設定【JDK】的環境變數:
- 【系統設定->Global Tool Configuration】,找到【JDK】,點選【JDK安裝...】,輸入JDK環境資訊;
- 在"JDK別名"輸入JDK版本名【jdk1.8.0_111】;
- 在"JAVA_HOME"輸入Java的安裝目錄【C:\Program Files\Java\jdk1.8.0_111】;
- Jenkins設定【Ant】的環境變數:
- 【系統設定->Global Tool Configuration】,找到【Ant】,點選【Ant安裝...】,輸入Ant環境資訊;
- 在"Ant別名"輸入Ant版本名【apache-ant-1.9.9】;
- 在"ANT_HOME"輸入Ant的安裝目錄【D:\CI\apache-ant-1.9.9】;
新建自動化專案
- Jenkins的相關使用,請自行百度。
- 此處存在幾個問題需要明確
問題一:構建的位置空間不是自己想要的build.xml所在的位置空間
Started by user admin
Building in workspace D:\allInstalled\Jenkins\workspace\WMS Api_test
原因分析:沒有配置自定義的工作空間
問題二:“java.lang.NoClassDefFoundError: org/jenkinsci/plugins/workflow/job/WorkflowRun”
原因分析:jenkins版本過低,和jdk1.8不匹配
解決方法:更新升級jenkins;
執行結果
- Jenkins任務(如下圖所示)
- 生成報告結果