【发布时间】:2017-08-20 05:32:22
【问题描述】:
我想学习如何从 Jenkins 向 Maven 项目传递参数。 首先我在 Jenkins 中选择了 General 配置,然后点击 This project is parameterized 然后:
姓名:my_parameter
选择:desktop,
ipad,
tablet
源码管理→Git→Repositories→Repository URL:我写了Git repo链接,没问题。
构建 → 执行 shell → 命令:mvn test -DdeviceType=$my_parameter
我的 Maven 项目有一个名为 String device 的参数。
String device;
public static DesiredCapabilities caps=null;
@BeforeSuite
public void initializeDriver() throws MalformedURLException{
device=System.getenv("deviceType");
System.out.println("device type: "+ device);
if (device.contains("ipad")) {
caps = new DesiredCapabilities();
caps.setCapability("browserName", "iPad");
caps.setCapability("platform", "MAC");
caps.setCapability("device", "iPad Mini 4");
caps.setCapability("browserstack.local", "true");
caps.setCapability("browserstack.debug", "true");
caps.setCapability("safariAllowPopups", "true");
caps.setCapability("acceptSslCerts", "true");
caps.setCapability("browserstack.autoWait", "0");
caps.setCapability("requireWindowFocus", "true");
driver=new RemoteWebDriver(new URL(URL), caps);
}
然后在 Jenkins 上使用参数构建:
$ /bin/sh -xe /var/folders/j9/gyf9715j0hs32m4gd8h_gw4m55zss4 /T/hudson7304038831620598368.sh
+ mvn test -DdeviceType=desktop
[INFO] Scanning for projects...
device type: null[0m
为什么设备类型返回null?怎么了?
感谢您的帮助...
【问题讨论】:
-
您还没有考虑过使用Jenkins Maven Plugin 提供的 Jenkins Maven 项目 类型,是吗?
标签: java macos maven jenkins parameter-passing