Jenkins+Jmeter持續集成筆記(五:問題優化)

經過前面的一系列文章,個人API自動化測試平臺已經搭建成型,可是要投入具體項目使用時,還有如下幾個問題須要優化。html

 

仍是接着以上一篇筆記中的「test_token」項目爲例:shell

一、郵件通知問題

(1)問題

這裏的主要問題是針對郵件中的附件(即測試報告),在前一篇配置郵件通知的文章,我對於附件的配置是這麼說的:服務器

若是你可以多觸發幾回構建就會發現問題,隨着構建次數愈來愈多,產生的測試報告也愈來愈多,即.html文件會愈來愈多,而每次構建的郵件通知都會把全部的.html文件添加到附件,這樣用戶收到的自動化測試郵件裏面,不只能看到本次構建的測試報告,還能夠看到以前全部構建的測試報告,體驗很是很差。測試

(2)解決思路

在每次構建前刪除掉上次構建產生的測試報告文件,使得添加附件時,只能在html文件夾中搜索到本次構建的測試報告。優化

(3)解決方案

方案一:ui

job->配置->構建->增長構建步驟spa

在Invoke Ant構建前,咱們添加一個構建步驟「Execute shell」3d

增長了一個新的構建步驟,在構建ant任務以前,先在服務器上執行一段shell,功能是刪除測試報告文件夾下全部的測試報告文件便可。shell腳本以下:日誌

rm -f /var/lib/jenkins/workspace/test_token/html/*.html
rm -f /var/lib/jenkins/workspace/test_token/jtl/*.jtl

看一下構建日誌發現shell腳本被成功執行:code

 

方案二

job->配置->構建環境->Delete workspace before build starts

構建環境我勾選了"Delete workspace before build starts",在具體解釋這一步配置以前,我先說一下workspace在目前這個平臺中起到什麼做用:

首先,咱們在jenkins每建立一個新的job,系統就會在jenkins的安裝目錄下的workspace文件夾下建立一個以job name命名的文件夾;

接着,因爲郵件通知添加附件的問題,咱們手動把測試報告的輸出位置移動到這個job name命名的文件夾下面,也就是常常提到的html文件夾的位置;

但願下面兩張圖可以加深對他的理解:

             圖一:workspace的目錄樹結構

 

                                                                圖二:test_token項目下的工做空間目錄

 咱們可使用ANT語法指定一種模式來篩選出要被刪除的文件:

(1)下拉選擇框有兩種模式Include和Exclude

Include模式:若是文件匹配語法要求刪選條件,則文件會被移除

Exclude模式:若是文件匹配語法要求刪選條件,則文件不會被移除

(2)規則只適用於文件,若是你想要適用於文件夾,請勾選Apply pattern also on directories參數

我這裏填寫的規則意思是,在workspace目錄下的本項目中,篩選出全部以.html爲後綴的文件並移除他們。

關於這個功能的配置你們還能夠參考官方文檔的原文https://wiki.jenkins.io/display/JENKINS/Workspace+Cleanup+Plugin

接下來看一下構建日誌檢查構建環境是否執行:

 

OK,以上兩種方法均可以解決郵件通知附件的問題,你們可根據實際須要進行選擇。

 

二、丟棄舊的構建

每次構建都會保存數據,因此須要按期的清除過時文件,這時就用到了「丟棄舊的構建」這個功能。

保持構建的天數:每一個構建能保留多少天

保持構建的最大個數:最多保留多少個構建

 

 

好了,優化部分就到此爲止。

相關文章
相關標籤/搜索