这是一个尖叫的黑客,但应该工作。因为它是一个黑客,我将把确切的细节留给你;-)
您需要设置两个作业来隔离 maven 3 个作业。
这两个作业都需要Groovy 插件才能添加构建步骤。
您将在系统配置中设置三个版本的 Maven。
- Maven 2.2.1
- Maven 3.0.4
- Maven 2.2.1 白天 3.0.4 晚上
第一个作业将访问全局配置并更改Maven 2.2.1 by day 3.0.4 by night
为指向与Maven 3.0.4
. 第二个工作将其切换回来。
代码将需要类似于
import hudson.tasks.*;
Maven.DescriptorImpl descriptor = jenkins.model.Jenkins.instance.getDescriptor(Maven.class);
Maven.MavenInstallation[] installs = descriptor.installations.clone;
// clone the array because we will be modifying it
Maven.MavenInstallation v3 = null;
for (Maven.MavenInstallation i: installs) {
if (i.name.equals("Maven 3.0.4")) { v3=i; break;}
}
v3.class; // throw NPE if null (should be non-null)
for (int i = 0; i < installs.length; i++) {
if (installs[i].name.contains("by night")) { installs[i] = new Maven.MavenInstallation(installs[i].name,v3.home); break;}
}
descriptor.setInstallations(installs);
注意我没有检查上面的语法,但它应该足够接近让你排序。
反向工作应该很容易