星雲測試插裝編譯流程與CI集成

星雲測試Horn插裝採用腳本配置方式自動對語法進行掃描和插裝,在整個插裝過程當中須要用到星雲提供的插件工具。經過與CI集成,在CI編譯前經過jenkins調用星雲插裝插件模塊進行必要的數據填充,生成對應的項目插裝腳本,便可以經過星雲插裝插件進行項目插裝與編譯。 java

經過星雲插件腳本自動建立工程和代碼插裝

1.解壓星雲提供的插件包

星雲測試在windows環境下提供的插裝工具爲javaForWindows工具包;將javaForWindows放到合適目錄下並解壓便可。(LINUX使用LINUX插件包)。(登陸星雲網站www.teststars.cc 離線企業測試中心便可免費試用)windows

2.修改腳本配置

星雲測試整個編譯經過腳本ComplierPath.xml配置文件進行,在ComplierPath.xml中用戶須要配置TTserver的服務器地址、用戶名、項目名、版本名、以及代碼路徑等,若是須要過濾不須要插裝的代碼,也能夠經過該配置進行過濾。經過jenkins對通用模板進行數據填充,生成本次插裝編譯項目所須要的對應腳本。bash

配置參數說明:服務器

<server_ip>127.0.0.1</server_ip><!--服務端ip,按照實際配置-->
<user_name>user</user_name><!--編譯帳戶用戶名-->使用該用戶名前,建議該用戶名沒有其它登陸客戶端操做
<password>user</password><!--編譯帳戶用戶密碼-->
<is_append>0</is_append><!--是否追加編譯0不追加  1 追加-->通常默認
<is_Regression>0</is_Regression><!--是否選擇迴歸0不迴歸  1 迴歸-->通常默認
<is_AddCompile>0</is_AddCompile><!--是否增量編譯0否  1 是  增量編譯是文件級別的去重編譯,此時會忽略同模塊名級別去重-->通常默認
<is_classCompileOnly>0</is_classCompileOnly><!--是否追加class編譯0不追加  1 追加-->(注意:project_path 和 class_path 路徑不能爲空)通常默認
<compile_mode>1</compile_mode><!--編譯模式0 舊編譯模式(經過客戶端登陸方式) 
1新編譯方式-->通常默認
 <is_Parallel_compile_mode>0</is_Parallel_compile_mode><!--是否支持並行編譯0 否 1是-->通常默認
<tool>
<project_name>j2eeproj</project_name>  <!--項目名稱,追加編譯時候必須填寫,普通編譯能夠置空,建議按實際項目填寫-->
<baseversion_name>asdasdada_RR</baseversion_name> <!--基礎拷貝版本名稱,覺得空默認查找當前項目下最新的版本做爲基礎版本-->通常爲空
<version_name>Ver2</version_name> <!--版本名稱,能夠爲空,默認按照當前時間建立:
	例如:Ver_2019_02-02-18_0_0 ,該新建版本能夠再客戶端菜單:文件/刷新工程導航樹 刷新出來--> 
<submodule>
	<proName>TTPro1</proName> <!--當前模塊名稱,若是配置爲追加編譯且不是增量編譯會按照同名模塊去重,建議起初就進行配置-->
	<Path>
		<project_path>J:\sushe\src</project_path>   <!--src項目路徑-->
<class_path>J:\sushe\build\classes</class_path>  <!--class文件目錄-->                               
	<encode>GBK</encode> <!--編碼格式Automatic_encoding 有系統自動識別或者配置實際編碼格式-->通常默認
<filterPath>D:\moxi\target\classes</filterPath> <!--過濾不插裝的路徑-->(注意:想要不插裝多個路徑,就寫多個filterPath)通常不填寫
</Path>
</submodule>
</tool>   
複製代碼

3.插件運行進行代碼分析與插裝

TT插裝插件能夠經過Jenkins命令進行啓動,如:Windows經過cmd命令選擇到插件所在的根目錄下,運行autoCompiler.jar進行編譯(記得編譯得時候在javaForWindows目錄下進行編譯) 命令: \jre\bin\java.exe -jar autoCompile.jar -c D:\J2EE\javaForWindows 注:-c後面的參數爲ComplierPath.xml文件的目錄 命令生效後自動進行代碼分析與插裝並在cmd窗口中進行打印。 app

注意:<is_Parallel_compile_mode>0</is_Parallel_compile_mode>如果選擇爲1的啓動方式: .\jre\bin\java.exe -jar autpCompile.jar -c 插件路徑 ComplierPath.xml絕對路徑 函數

4.項目靜態數據加載

插裝成功後,經過登陸客戶端選中咱們插裝的項目進行版本靜態數據的加載,加載成功後便可看到分析的生成的靜態數據
複製代碼

5.源碼路徑替換,採用星雲插裝代碼

因爲測試的時候須要運行星雲插裝事後的代碼應用生成採集數據,因此須要對編譯的源碼路徑進行相應修改,經過Jenkins腳本對目錄進行更替,星雲插裝事後的代碼會在腳本配置的代碼路徑的目錄同層下生成src-instru目錄,src-instru目錄即爲編譯插裝後的源碼); 具體操做:先將源碼目錄下未插裝的java目錄重命名爲pre_java,再將編譯插裝生成的src-instru目錄命名爲java。工具

6.項目添加星雲依賴庫進行並編譯

Maven項目pom.xml修改加入依賴庫

因採用星雲插裝事後的代碼,即在編譯過程當中須要引入星雲提供的2個依賴庫,Maven項目能夠經過修改pom.xml進行引入 經過jenkins自動修改項目的pom.xml文件來引入TT的依賴庫: 方法加入到兩個之間,加入的代碼以下:測試

systemPath須要按JavaParser-j2ee.jar和jeromq-0.3.0-SNAPSHOT.jar的絕對路徑填寫
 <dependency>
<groupId>com.zoa</groupId>
<artifactId>JavaParser-MQ</artifactId>
<version>1.0</version>
<scope>system</scope>
<systemPath>/D:/J2EE/client/MQ/JavaParser-J2EE.jar</systemPath>
 </dependency>
<dependency>
	<groupId>com.zoa</groupId>
	<artifactId>jeromq</artifactId>
	<version>1.0</version>
	<scope>system</scope>
<systemPath>/D:/J2EE/client/MQ/jeromq-0.3.0-SNAPSHOT.jar</systemPath></dependency>
複製代碼

在pom文件修改完成後便可打包發佈 在被測程序目錄下執行mvn clean package 命令 網站

傳統J2EE項目或安卓項目

經過jenkins在編譯項目中引入JavaParser-j2ee.jar和jeromq-0.3.0-SNAPSHOT.jar進行編譯,注這裏須要羣J2EE和安卓項目,如安卓項目須要把2個依賴包最終打入到APK中,若是是J2EE項目,請在最後生成的war包或jar包中取出該依賴包,因J2EE項目最終會搭配agent使用,agent中會自帶該依賴。 打包完成,爲使函數覆蓋率可視視圖代碼部分顯示正常,須要手動修改源碼路徑:右鍵版本,點擊修改源碼路徑,選擇到pre_java目錄便可。 ui

相關文章
相關標籤/搜索