1、要實現Jenkins參數化構建,要先在代碼里寫好能接收該參數value的配置,在pom.xml文件里加配置,如下:
1)<properties></properties>里添加參數的key和value,通過本地執行時,可以直接從pom文件獲取,或者從config.properitites獲取
l
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<java.version>1.8</java.version>
<xmlFileName>testng.xml</xmlFileName>
<env>test</env>
<devicesInfo>M-015_Devices</devicesInfo>
<driverServer>appiumServer1</driverServer>
<maven-jar-plugin.version>3.8.1</maven-jar-plugin.version>
</properties>
2)在maven-surefire-plugin插件里設置自定義環境變量,去引用在properties設定的變量的值
2、代碼里接收從Jenkins傳遞過來的參數,如果Jenkins不傳遞參數,默認從pom.xml里取自定義環境變量
代碼里根據傳入不同的參數,去獲取相應的值,變量名env隨便取的,忽略就行
通過本地調試腳本時,可以在dos窗口執行mvn 命令,測試傳遞的參數是否正常
命令如下:
mvn clean test -DxmlFileName=testng.xml -Denv=test -DdevicesInfo=M-015_Devices -DdriverServer=appiumServer1
本地執行通過,可以配置Jenkins上的參數化構建,通過Jenkins執行job
3、Jenkins頁面配置如下:
1)進入項目-勾選“This project is parameterized”,點擊“添加參數”-添加“String Parameter,寫上參數的key和value,如果需要傳入多個參數,可以添加多個String Parameter
appium Server是我本地Windows
2)同時,在maven構建里寫上要執行的maven命令,通過"$"引用pom文件里設置的properity變量
3)配置完成后,保存,執行job