1. 程式人生 > >jmeter+jenkins+ant部署持續集成測試

jmeter+jenkins+ant部署持續集成測試

自帶 彈出 chang 定位問題 csv 後來 們的 fec inux

原文地址:http://blog.csdn.net/kaluman/article/details/74535495

開頭的註意事項:

1、所有的環境變量和代碼,都需要使用英文的符號,變量之間都需要英文分號;隔開。

2、配置環境時,最好切換到英文輸入法進行,以免由於中文符號出錯,不好查找原因。

3、調試時,沒有使用命令行工具,一直使用的Xshell。

一、 安裝包準備

JDK:jdk1.8.0_91

Ant:apache-ant-1.9.7

Jmeter:apache-jmeter-3.0(還需要下載jmeter的兩個插件JMeterPlugins-Extras-1.4.0和JMeterPlugins-Standard-1.4.0)

Jenkins:jenkins-1.651.1

二、 安裝JDK

安裝時,一直點下一步就可以,也可以選擇自己想安裝的目錄進行安裝。

1、配置JAVA_HOME變量:

桌面右鍵計算機=>屬性=>高級系統設置=>環境變量=>系統變量=>新建

技術分享圖片

變量名為JAVA_HOME 變量值填寫jdk安裝路徑,如果安裝多個jdk版本,在此處寫哪個路徑就可直接變更jdk版本

2、系統變量=>Path,雙擊打開編輯

在變量值最後輸入 %JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;

註意,所有變量值之間都必須有英文分號;隔開

3、系統變量=>新建CLASSPATH變量,若有則直接編輯

變量值:.;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar

註意:最前面有一個英文句號“.”。

4、打開命令行,輸入java-version,會打印出當前JDK的版本號

三、 安裝Jmeter

1、 直接解壓Jmeter壓縮包,就算安裝成功了

2、Jmeter插件的安裝。

解壓JMeterPlugins-Extras-1.4.0.zip、JMeterPlugins-Standard-1.4.0.zip,將兩個文件夾lib\ext目錄下的所有文件拷貝到apache-jmeter-3.0\lib\ext目錄下;

3、配置Jmeter環境變量

1)新建系統變量,變量名稱:JMETER_HOME,變量值:D:\software\apache-jmeter-3.0(Jmeter本地安裝路徑)

2)在系統變量CLASSPATH中添加

%JMETER_HOME%\lib\ext\ApacheJMeter_core.jar;%JMETER_HOME%\lib\jorphan.jar;%JMETER_HOME%\lib\logkit-2.0.jar;

3)在系統變量中Path中添加%JMETER_HOME%\bin

4)打開命令行,輸入jmeter-v,打印出jmeter版本號表示安裝成功(若是命令行不支持,則使用別的工具,如Xshell)

四、 安裝Ant

1、直接解壓apache-ant-1.9.7-bin.zip到想要的目錄,就算安裝成功了

2、 配置Ant環境變量

1) 新建系統變量:ANT_HOME,變量值為Ant的本地安裝路徑,如我的:D:\software\apache-ant-1.9.7

2) 在系統變量Path後添加%ANT_HOME%\bin

3)打開命令行,輸入ant-version,打印出ant版本號表示配置成功(若是命令行不支持,則使用別的工具,如Xshell)

3、 本地調試使用ant構建運行Jmeter,並且生成jtl、html格式報告

3.1 jmeter默認保存的是.csv格式文件,因此需要把默認的進行修改,找到bin/jmeter.properties文件,修改jmeter.save.saveservice.output_format=xml,需要把前面的註釋符去掉

3.2 將apache-jmeter-3.0\extras\ant-jmeter-1.1.1.jar拷貝到apache-ant-1.9.7\lib目錄下

3.3 在Xshell或命令行,先進入\apache-jmeter-2.13\extras目錄,運行"ant.bat-file build.xml -Dtest=Test" . 查看\apache-jmeter-2.13\extras目錄下是否出現Test.jtl、Test.html文件,若有,則構建成功。

到這裏出問題了,一直構建失敗,提示jtl文件不存在(***.Jtl does not exist),嘗試了很多方法,都不行,最後到網上找了一個範例,把build.xml文件整個給改了,然後終於成功了,步驟如下:

1)在本地創建一個存放report的目錄;

2)把build.xml和樣式文件jmeter-results-detail-report_21.xsl(這個需要自己上網找正確的,不然樣式會錯)都放入該目錄下;

3)自己本地有專門存放腳本的目錄,每次要運行哪個目錄的腳本,需要去修改build.xml文件腳本文件目錄;

4)修改build.xml,代碼如下;

5)命令行或者別的工具,進入自己創建的report目錄後,執行ant.bat -file build.xml -Dtest=腳本文件名(不需要後綴),發現就能在這個目錄生成jtl和html文件了。

附上我的build.xml代碼,註意第一行必須頂格,不然會報錯:

<?xml version="1.0" encoding="UTF-8"?>  
      
    <project name="ant-jmeter-test" default="run" basedir=".">  
          
        <tstamp>  
            <format property="time" pattern="yyyyMMddHHmm" />  
        </tstamp>  
        <!-- 本地存放報告的路徑-->
        <property name="basedirectory" value="D:\software\workspace\report" />
        <!-- 本地存放腳本的路徑-->
        <property name="scriptdirectory" value="D:\scriptFile\jmeter\yuejuanxing" />        
        <!-- 需要改成自己本地的 Jmeter 目錄-->    
        <property name="jmeter.home" value="D:\software\apache-jmeter-3.0" />  
        <!-- jmeter生成jtl格式的結果報告的路徑-->   
        <property name="jmeter.result.jtl.dir" value="${basedirectory}" />  
        <!-- jmeter生成html格式的結果報告的路徑-->  
        <property name="jmeter.result.html.dir" value="${basedirectory}" />  
        <!-- Name of test (without .jmx) -->  
        <property name="test" value="Test"/>  
        <!-- 生成的報告的前綴-->    
        <property name="ReportName" value="TestReport" />  
        <property name="jmeter.result.jtlName" value="${jmeter.result.jtl.dir}/${test}.jtl" />  
        <property name="jmeter.result.htmlName" value="${jmeter.result.html.dir}/${test}.html" />  
          
        <path id="xslt.classpath">  
            <fileset dir="${jmeter.home}/lib" includes="xalan*.jar"/>  
            <fileset dir="${jmeter.home}/lib" includes="serializer*.jar"/>  
        </path>  
          
        <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="${scriptdirectory}" includes="${test}.jmx" />  
            </jmeter>  
        </target>  
              
        <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="${basedirectory}/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>

上面代碼中,同一個測試腳本生成的報告名一樣,假如想每次報告名都不一樣,可以把報告名後綴前加上${time},如下,這樣生成的文件就會加上報告時間(精確到分)

<property name="jmeter.result.jtlName" value="${jmeter.result.jtl.dir}/${test}${time}.jtl" />

xml的語法,時間格式yyyyMMddHHmm(H大寫,是24小時制),yyyyMMddhhmm(h小寫,就變為12小時制了),對語法不熟的人,這是個小坑啦。

中間其實還出了一個問題,運行ant一直沒調通,我就把jdk改成1.7版本了,並按照上面的步驟做完,發現能運行了,很開心;但樂極生悲,打開jmeter後,發現不能打開腳本文件了,報Could not initialize class org.apache.jmeter.save.SaveService,後來又把jdk版本還原成1.8,然後所有的都好了(各種報錯啊,還看不懂,真心累)

此時生成報告的樣式如下:技術分享圖片

五、配置測試報告樣式

之前配置的樣式,報告中只有錯誤多少,沒有錯誤的詳細信息,因此把樣式進行優化

1、下載樣式文件jmeter.results.shanhe.me.xsl ,並把該文件放入正確目錄下,我這裏是放到我創建的report目錄下

2、修改jmeter.properties文件如下部分,我這裏基本上都修改成true,這樣執行完腳本後就會保存這些結果到.jtl文件裏面

jmeter.save.saveservice.data_type=true
jmeter.save.saveservice.label=true
jmeter.save.saveservice.response_code=true
# response_data is not currently supported for CSV output
jmeter.save.saveservice.response_data=true
# Save ResponseData for failed samples
jmeter.save.saveservice.response_data.on_error=false
jmeter.save.saveservice.response_message=true
jmeter.save.saveservice.successful=true
jmeter.save.saveservice.thread_name=true
jmeter.save.saveservice.time=true
jmeter.save.saveservice.subresults=true
jmeter.save.saveservice.assertions=true
jmeter.save.saveservice.latency=true
jmeter.save.saveservice.connect_time=true
jmeter.save.saveservice.samplerData=true
jmeter.save.saveservice.responseHeaders=true
jmeter.save.saveservice.requestHeaders=true
jmeter.save.saveservice.encoding=false
jmeter.save.saveservice.bytes=true
jmeter.save.saveservice.url=true
jmeter.save.saveservice.filename=true
jmeter.save.saveservice.hostname=true
jmeter.save.saveservice.thread_counts=true
jmeter.save.saveservice.sample_count=true
jmeter.save.saveservice.idle_time=true

3、修改build.xml文件,把

style="${basedirectory}/jmeter-results-detail-report_21.xsl">

改為:

style="${basedirectory}/jmeter.results.shanhe.me.xsl">

4、執行腳本,生成報告如下,這個報告展示的內容比之前的報告多了很多,定位問題也比較方便直觀
技術分享圖片

這裏還遇到了一個問題,我自己的能運行,但我的小夥伴們配置環境時,就一直報錯,後來才發現:若是build.xml裏的地址,帶有特殊符號(中文、下劃線之類的),運行時就會報錯,然後把目錄都變為純英文和數字的,就成功了,不報錯了。

六、安裝Jenkins並配置

1、雙擊jenkins.msi啟動安裝,安裝完成後啟動成功

(1)Jenkins服務默認端口為8080,如與其他服務沖突,可在..\Jenkins\jenkins.xml中修改默認端口,如下方的8080改為未被其他服務占用的端口

<executable>%BASE%\jre\bin\java</executable>  
  <arguments>-Xrs -Xmx256m -Dhudson.lifecycle=hudson.lifecycle.WindowsServiceLifecycle -jar "%BASE%\jenkins.war" --httpPort=8080 --webroot="%BASE%\war"</arguments>

(2)jenkins服務是自動啟動的,如想更改為手動啟動,計算機圖標上點擊右鍵=>管理,找到服務與應用程序,展開後點擊服務,在右側列表找到jenkins服務,雙擊打開編輯頁面,改為手動即可(改為手動後,每次啟動,需要手動進入該目錄,找到Jenkins後右鍵=>啟動)

2、打開jenkins,首次進入需要先安裝插件,首頁點擊系統設置,然後在右側選擇管理插件,去選擇需要的這幾個插件安裝就ok了,這裏用到的插件有如下幾個:

PerformancePlugin(jmeter報告需要)、EmailExtension Plugin(郵件需要)、HTML Publisher plugin(可在jenkins中生成單獨的測試報告菜單)

3、設置jenkins,系統管理=>系統設置

在Jenkins首頁,點擊系統管理,然後右側選擇系統設置,進入系統設置頁面,前面的不需要改動,往下滑動到JDK安裝處

(1)JDK安裝,輸入jdk版本和jdk安裝的目錄路徑,如下圖

(2)ANT安裝,輸入ant版本和ant安裝的目錄路徑,如下圖

技術分享圖片

(3)Jenkins郵件配置,找到Jenkins location,其中Jenkins URL有默認值,如下圖,但是最好修改,默認地址不安全。系統管理員郵件地址也一定要寫,否則所發郵件會變為垃圾郵件。

技術分享圖片

然後往下滑動到下圖位置,繼續進行郵件設置,這裏按照自己實際使用的郵箱進行配置,需要配置的項如下圖中有內容的項;

技術分享圖片

郵件通知,是jenkins自帶的基礎郵件功能,可以設置構建異常或不穩定時,郵件通知相關人員。設置時,要點擊高級展開,然後輸入郵箱和密碼,選擇編碼格式,如下圖所示

技術分享圖片

至此,系統設置就設置完成。

七、使用Jenkins,構建項目

1、新建Item

第一次使用Jenkins,需要新建項目,點擊左側菜單的新建,右側選擇構建一個自由風格的軟件項目,並根據實際,輸入項目名稱(若是後續使用,可以選擇復制已有的Item,然後進行一些修改),點擊ok,進入項目配置頁面

技術分享圖片

2、配置:所有的配置,都要註意該項下方或右方是否有高級選項,有的話都點開看看是否需要配置

(1)需要勾選“丟棄舊的構建”,不然每次構建數據都保存,浪費儲存空間,這裏保留的個數和天數的數值,根據需要填寫

技術分享圖片

(2)參數化構建過程

構建時,可能每次構建使用的腳本都不一樣,因此把腳本名稱參數化,這樣會比較方便,具體步驟為:

(a)點擊配置進入配置頁面,如圖中標1的地方

(b)項目名稱下面有一個參數化構建過程,勾選後會增加一個添加參數的按鈕,點擊該按鈕彈出參數列表,這裏選擇choice,如圖中標2的地方

(c)choice的使用:圖中3是參數名,4是該參數的值列表,一行一個值,可以多行,構建時選擇參數就行;5是對這些參數和值的描述

技術分享圖片

(d)把下面所有用到這個參數testscript的地方,都用 ${testscript}代替,以後想換腳本,直接在參數值處添加或更換就行,不用動其他地方,參數化後用起來很方便。

(3)高級項目選項,點擊右側高級展開,此處選擇使用自定義的工作空間,該路徑是build.xml文件的根目錄技術分享圖片

(4)源碼管理,高級下方的源碼管理選擇none,如用到svn或git需要勾選對應選項

(5)構建觸發器,源碼管理下方的構建觸發器,可根據需求選擇,因為要做接口自動化,每天定時跑任務並監控,所以這裏選擇的是Build periodically(定期構建)。

註意:關於定期構建參數的說明:"* * * * *",總共有5個參數,分別代表分(0~59)、時(0~23)、天(1~31)、月(1~12)、周(0~7,0和7表示星期天);

日程表的填寫方法,下圖是一個填寫樣例;

技術分享圖片

(6)增加構建步驟Execute Windows batch command

此處需要在命令處,添加刪除jtl或html的命令,若是想保留所有的jtl和html,則可以不添加刪除命令,若是要添加,命令如下;

此處使用的是bat腳本(也可用別的腳本語言),用於刪除指定目錄裏存在的報告,這裏的語法,引用參數格式為:%參數名%;模糊匹配格式:**.html(所有html格式的文件)。

del "D:\software\workspace\report"\%testscript%**.jtl  
del "D:\software\workspace\report"\%testscript%**.html

(7)增加構建步驟,選擇Invoke Ant,然後在ant version處,選擇之前安裝的ant版本即可;

右側點擊高級,展開的頁面,在Properties中填寫test=xxxx,xxxx是指腳本文件的名字;由於我參數化了,所以此處直接填寫test=$testscript

技術分享圖片

(8)增加構建後操作步驟Archive the artifacts

用於存檔的文件填寫**/**.html,模糊匹配html文件,也可以寫上具體的文件名如:**/登錄.html,參數化以後寫成:**/${testscript}*.html

(9)增加構建後操作步驟,publish html reports,index page(s),可以如下圖這樣寫,也可以寫上具體的文件名,但寫具體的文件名後期得改,不方便;參數化以後寫成:${testscript}*.html

這樣在Jenkins的項目中,就會出現一個HTML樣式測試報告的菜單,點擊可在Jenkins中直接預覽測試報告

(8)、(9)設置如下圖

技術分享圖片

(10)增加構建後操作步驟PublishPerformance test result report,Source data files (autodetects format)指jtl源文件,**/xxx.jtl,這裏xxx與jmx文件名一致;參數化後,填寫:**/${testscript}**.jtl,(模糊匹配),也可以全匹配:**/${testscript}.jtl;

下方還有一個錯誤比例,現在設置的是0-100,即不管錯多少都發郵件,具體設置如下圖:

技術分享圖片

(11)增加構建後操作步驟E-mail Notification,當構建不穩定或者失敗時會通知收件人

技術分享圖片

(12)增加構建後操作步驟,Editable Email Notification,這個是要給哪些人發送郵件,可以有多個,收件人的郵箱,用英文分號";"間隔技術分享圖片

這裏將Content Type改為html格式,我們的郵件正文就能呈html格式顯示,郵件標題隨意設置,正文內容如下,將其粘default content中即可,也可根據需要自己編寫、修改:

<!DOCTYPE html>  
<html>  
<head>  
<meta charset="UTF-8">  
<title>${PROJECT_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>觸發原因 : ${CAUSE}</li>  
                    <li>構建日誌 : <a href="${BUILD_URL}console">${BUILD_URL}console</a></li>  
                    <li>工作目錄 : <a href="${PROJECT_URL}ws">${PROJECT_URL}ws</a></li>  
                    <li>構建  Url : <a href="${BUILD_URL}">${BUILD_URL}</a></li>  
                    <li>項目  Url : <a href="${PROJECT_URL}">${PROJECT_URL}</a></li>  
                </ul>  
            </td>  
        </tr>  
        <tr>  
            <td><b><font color="#0B610B">Changes Since Last  
                        Successful Build:</font></b>  
            <hr size="2" width="100%" align="center" /></td>  
        </tr>  
        <tr>  
            <td>  
                <ul>  
                    <li>歷史變更記錄 : <a href="${PROJECT_URL}changes">${PROJECT_URL}changes</a></li>  
                </ul> ${CHANGES_SINCE_LAST_SUCCESS,reverse=true, format="Changes for Build #%n:<br />%c<br />",showPaths=true,changesFormat="<pre>[%a]<br />%m</pre>",pathFormat="    %p"}  
            </td>  
        </tr>  
        <tr>  
            <td><b>Test Informations</b>  
            <hr size="2" width="100%" align="center" /></td>  
        </tr>  
        <tr>  
            <td><pre  
                    style="font-size: 11pt; font-family: Tahoma, Arial, Helvetica, sans-serif">Total:${TEST_COUNTS,var="total"},Pass:${TEST_COUNTS,var="pass"},Failed:${TEST_COUNTS,var="fail"},Skiped:${TEST_COUNTS,var="skip"}</pre>  
                <br /></td>  
        </tr>  
        <tr>  
            <td><b><font color="#0B610B">構建日誌 (最後 100行):</font></b>  
            <hr size="2" width="100%" align="center" /></td>  
        </tr>  
        <tr>  
            <td><textarea cols="80" rows="30" readonly="readonly"  
                    style="font-family: Courier New">${BUILD_LOG, maxLines=100}</textarea>  
            </td>  
        </tr>  
    </table>  
</body>  
</html>  

在Attachments中填寫需要發送的附件名稱,構建文件夾下的文件都能當成郵件附件去發送,這裏將測試報告名字填入框中即可,我的是參數化+模糊匹配:${testscript}**.html

技術分享圖片

點擊右側的AdvanceSettings,找到Trigger,點擊Add,增加觸發器

目前我們常用的是,每次測試的執行結果發送給自己,接口測試執行異常,結果發送至研發人員和自己,所以可添加Always和Failure-Any兩種觸發器

點擊高級,展開的菜單下,填寫郵件的各項內容即可(兩種觸發器都要填,分別填需要發送人員的郵箱,郵件發給多個人時,在Recipient List欄添加多個郵箱,每個郵箱之間以英文逗號“,”隔開);如圖

技術分享圖片

都配置好以後,點擊保存或應用,就配置好了一個項目

3、構建項目

項目配置好以後,就可以構建了

(1)沒有參數化,構建時,點擊左側的立即構建按鈕,就開始構建了;

(2)參數化了,立即構建按鈕就變為下圖build with parameters參數構建了,點擊參數構建,右方會出來參數列表,選擇需要構建的參數值,就能選中腳本直接構建了

技術分享圖片

構建時,有可能會報錯,然後返回檢查一下系統設置和項目構建,是否有沒保存成功的項,有的話再保存一遍,應該就沒問題了。我當時遇到的問題,就是郵箱開始配置好了,但是後來沒收到郵件,再次去檢查,發現系統設置和項目構建裏,之前配置的郵箱數據都丟失了,為什麽丟了不知道,不過我又配置了一遍,然後發郵件帶上附件,就都沒問題了

遇到的問題及解決方案

1、在Jenkins上直接預覽測試報告時,發現報告的明細無法查看,可參考https://wiki.jenkins.io/display/JENKINS/Configuring+Content+Security+Policy

(1)暫時解決方案,也是最簡單的解決方案,就是在Jenkins的系統管理-腳本命令行,輸入下面的命令,在構建就成功了

System.setProperty("hudson.model.DirectoryBrowserSupport.CSP","")

(2)永久解決方案,網上找到的方法,Windows的方法是,修改jenkins.xml,把端口這一行代表替換為下方的代碼,然後就ok啦

<arguments>-Xrs -Xmx256m -Dhudson.model.DirectoryBrowserSupport.CSP= -Dhudson.lifecycle=hudson.lifecycle.WindowsServiceLifecycle -jar "%BASE%\jenkins.war" --httpPort=8080 --webroot="%BASE%\war"</arguments>

Linux的方法有兩種

第一種:Jenkins會有一些默認的安全規則集,會影響一些插件的功能,去掉就可以了。啟動Jenkins的時候添加參數即可。

  • 默認的是:java -jar /usr/local/Cellar/jenkins-lts/1.651.2/libexec/jenkins.war
  • 修改為:java -Dhudson.model.DirectoryBrowserSupport.CSP= -jar/usr/local/Cellar/jenkins-lts/1.651.2/libexec/jenkins.war

第二種:參考鏈接 http://blog.csdn.net/hifour/article/details/54947841

步驟1:通過systemctl status jenkins 查看jenkins的啟動腳本文件位置 [root@develop02 ~]# systemctl status jenkins ● jenkins.service - LSB: Jenkins Continuous Integration Server Loaded: loaded (/etc/rc.d/init.d/jenkins; bad; vendor preset: disabled) Active: active (running) since Tue 2017-02-07 15:25:23 CST; 1h 4min ago Docs: man:systemd-sysv-generator(8) Process: 936 ExecStart=/etc/rc.d/init.d/jenkins start (code=exited, status=0/SUCCESS) CGroup: /system.slice/jenkins.service └─1616 /etc/alternatives/java -Dcom.sun.akuma.Daemon=daemonized -Djava.awt.headless=true -DJENKINS_HOME=/var/lib/jenkins -Dhudson.model.Direc... 步驟2:進入後查看jenkins的啟動文件,可以查到jenkins配置文件所在位置。 vim /etc/rc.d/init.d/jenkins /JENKINS_CONFIG 步驟3:進入配置文件所在位置 vim /etc/sysconfig/jenkins 進入後增加環境變量 HUDSON_OPTIONS="-Dhudson.model.DirectoryBrowserSupport.CSP=\"sandbox; default-src ‘unsafe-inline‘;\"" 步驟4:再次進入jenkins啟動文件,修改代碼,增加HUDSON_OPTIONS變量 vim /etc/rc.d/init.d/jenkins JAVA_CMD="$JENKINS_JAVA_CMD $JENKINS_JAVA_OPTIONS -DJENKINS_HOME=$JENKINS_HOME$HUDSON_OPTIONS -jar $JENKINS_WAR" PARAMS="--logfile=/var/log/jenkins/jenkins.log --webroot=/var/cache/jenkins/war --daemon" 步驟5:重啟Jenkins服務,使配置生效。 systemctl restart jenkins 步驟6:查看jenkins服啟動參數,配置已生效 /etc/alternatives/java -Dcom.sun.akuma.Daemon=daemonized -Djava.awt.headless=true -DJENKINS_HOME=/var/lib/jenkins-Dhudson.model.DirectoryBrowserSupport.CSP="script-src ‘unsafe-inline‘" -jar /usr/lib/jenkins/jenkins.war --logfile=/var/log/jenkins/jenkins.log --webroot=/var/cache/jenkins/war --daemon --httpPort=8080 --debug=5 --handlerCountMax=100 --handlerCountMaxIdle=20 步驟7:進入到jenkins的系統管理->腳本命令行,輸入命令查看系統屬性 System.getProperty("hudson.model.DirectoryBrowserSupport.CSP") 步驟8:可看到配置已修改成功

2、Jenkins構建後,發現最後一次構建結果把所有的html文件都顯示出來了

(1)Archive the artifacts 這個地方,用於存檔的文件一開始填寫成了**/**.html,模糊匹配html文件,就把所有的html文件都顯示出來了,後來改為這個,每次就只顯示本次構建的這個腳本的html文件了:**/${testscript}*.html

3、參數化以後,選擇非第一個參數構建job時,發現好幾個地方以及發送的郵件附件的html格式的報告,都不是最後構建的這份報告,而是最後以第一個參數值構建的報告

在項目的配置裏,把參數化的地方,都由$testscript變為${testscript},然後就好了

4、構建job後,發現Performance Trend不顯示

5、

jmeter+jenkins+ant部署持續集成測試