Jenkins,最初被稱爲Hudson,是一個Java語言編寫的開源持續集成工具。Jenkins在持續集成領域的市場份額居於主導地位,其被各類規模的團隊用於各類語言和技術的項目中,好比.net。ruby。Groovy。Java等。css
Jenkins的用戶界面很是簡單、直觀、增長了視覺上的吸引力,其次具備良好的擴展性,可以及其靈活和方便的迎合你的想法。它有數以百計的開源插件可供使用,並且每週都有更多的插件貢獻進來。這些開源插件覆蓋系統的版本控制、構建工具、代碼質量度量、構建通知、外部系統集成、用戶界面定製化、遊戲等。 ---摘自<Jenkins權威指南>html
Jenkins做爲一款優秀的集成工具,是很是成功的。從單方面的簡潔GUI、功能等優秀特色,更多的是迎合了現今軟件的開發模式以及管理模式,本人有了解,在去年的一場Jenkins的技術分享會上,有提到Jenkins的插件已經達到1340多個,真是一個恐怖的數字。所以,稱之它爲一手插件堆起來的功能,一點也不爲過。linux
固然,Jenkins優秀歸優秀,那麼它能幫咱們來幹什麼呢?Jmeter又如何和Jenkins進行相互‘溝通’進行工做呢?shell
(具體Jenkins的安裝方式便不在記了)windows
自3.0起Jmeter,已經有了豐富的圖表展現,以前的話是用借用ant進行構建,ant生成圖形報表,而3.0之後,能夠直接顯示本身的圖表,便沒必要要(固然也是也能夠的,後續記上)去加ant。tomcat
其具體的實現方式仍是Jmeter的no GUI方式運行,使用Jenkins的插件將Jmeter生成的圖表展示出來。OK,上例子。安全
使用GUI界面進行調試,線程10,10s內啓動,循環10次,一個Sampler,有100次Sampler進行請求。ruby
執行命令,如圖,運行生成jtl、log文件工具
加上-e -o參數(及相應路徑)生成Jmeter自帶的html報告.net
OK、我這個是執行過的,報告也展示了出來。
那麼Jenkins上是怎麼玩的呢?直接上Demo。
直接新建一個自由風格的project。
源碼管理、構建觸發器暫且用不到(做爲一個簡單的demo)
直接構建、選用插件Execute Windows batch command;(由於個人tomcat在本地搭建,本地爲windos環境,所以會選用該插件,如若爲linux,先用Excute shell便可)
上方在終端命令行中運行的命令直接放入該插件。
首先先將本地的jmx文件以Jenkins進行運行一遍,並輸出jtl、log的日誌文件。
保存並點擊「當即構建」
構建成功,紅色即失敗。
查看本次構建的日誌信息。
能夠看的出來,本地文件是構建成功的,再至本地日誌存放目錄,查看日誌文件是否生成。
日誌文件也是生成了。可以使用Jmeter的監控器(結果樹等)進行查看日誌信息。
OK,再進行加入生成report的參數-e、-o進行生成可視化報告。
當即構建。
至本地查看該report文件是否生成。
截至此處,使用Jenkins進行構建Jmeter工程並生成各類日誌文件已經完成。
確定仍是有困惑的,那就是直接在Jenkins查看它的日誌報告,Jenkins是徹底支持的。
很eazy,增長構建後操做:
插件Publish HTML reports進行查看。
OK,接着構建。
能夠看到該結果是成功的,那麼至Jenkins目錄HTML Report進行查看該報告。
什麼鬼,居然什麼信息都查看不到?
網上有相關問題的回答。不過此處也記錄一下,這是因爲Jenkins的安全機制,將css等頁面渲染信息都進行了攔截,能夠打開F12,開發者工具進行查看攔截的信息。
那麼也是有解決方案的。
有暫時解決方案,也有一勞永逸的解決方案。
整理了一下方案,大體有三種:
一、若是Jenkins是在Tomcat下進行搭建的,那麼能夠直接修改Tomcat的啓動文件參數(具體本人並未實現)
二、使用Jenkins的腳本命令行工具,加一段Groovy代碼「System.setProperty("hudson.model.DirectoryBrowserSupport.CSP", "")」
該方案爲暫時性解決方案,本次構建能夠進行生效,但是當重啓一次Jenkins便會失效,從新加入該段代碼。
三、在構建過程當中加入一個步驟Execute system Groovy Script,輸入「System.setProperty("hudson.model.DirectoryBrowserSupport.CSP", "")」代碼段,即可一勞永逸,即便重啓,該段功能也不會失效。
在此,便使用第三種方案進行實現。
OK,再進行構建一次,查看HTML Report。
嗯哼、將數據展示了出來。
收工~~~看書。
對了、若是在windows的環境下,須將Jenkins的工做目錄等移動至其餘目錄(儘可能不要放在C盤下),C盤爲系統盤,涉及各類權限,工做目錄在C盤下進行構建的話,有時會出現,本地的日誌文件等所有都生成了,可是Jenkins的構建結果就是失敗,報一系列莫名其妙的錯誤~~
至於Jenkins移動工做目錄,很eazy,添加環境變量、工做目錄遷移便可,百度一下更精彩!