經過前面的一系列文章,個人API自動化測試平臺已經搭建成型,可是要投入具體項目使用時,還有如下幾個問題須要優化。html
仍是接着以上一篇筆記中的「test_token」項目爲例:shell
這裏的主要問題是針對郵件中的附件(即測試報告),在前一篇配置郵件通知的文章,我對於附件的配置是這麼說的:服務器
若是你可以多觸發幾回構建就會發現問題,隨着構建次數愈來愈多,產生的測試報告也愈來愈多,即.html文件會愈來愈多,而每次構建的郵件通知都會把全部的.html文件添加到附件,這樣用戶收到的自動化測試郵件裏面,不只能看到本次構建的測試報告,還能夠看到以前全部構建的測試報告,體驗很是很差。測試
在每次構建前刪除掉上次構建產生的測試報告文件,使得添加附件時,只能在html文件夾中搜索到本次構建的測試報告。優化
方案一: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,以上兩種方法均可以解決郵件通知附件的問題,你們可根據實際須要進行選擇。
每次構建都會保存數據,因此須要按期的清除過時文件,這時就用到了「丟棄舊的構建」這個功能。
保持構建的天數:每一個構建能保留多少天
保持構建的最大個數:最多保留多少個構建
好了,優化部分就到此爲止。