在Jenkins中设置Maven参数

在Jenkins中设置Maven参数,maven,parameters,build,jenkins,Maven,Parameters,Build,Jenkins,我正在试验Jenkins,并且正在寻找一种允许Jenkins为不同的项目构建设置参数的方法。通常,所有这些属性都存储在settings.xml中(我目前有一个settings.xml供运行Jenkins的用户使用,其中包括默认属性和我的存储库) 我想对同一个项目进行不同的构建,以确定不同的Maven参数和不同的目标。(有一个作业经常运行编译检查,另一个作业每小时将应用程序部署到测试服务器,另一个作业用于发布到暂存,然后生产) 在Jenkins中创建参数化版本的最佳方法是什么?有一些选项供您选择。

我正在试验Jenkins,并且正在寻找一种允许Jenkins为不同的项目构建设置参数的方法。通常,所有这些属性都存储在settings.xml中(我目前有一个settings.xml供运行Jenkins的用户使用,其中包括默认属性和我的存储库)

我想对同一个项目进行不同的构建,以确定不同的Maven参数和不同的目标。(有一个作业经常运行编译检查,另一个作业每小时将应用程序部署到测试服务器,另一个作业用于发布到暂存,然后生产)


在Jenkins中创建参数化版本的最佳方法是什么?

有一些选项供您选择。以下是我正在使用的:

在构建中创建概要文件。 POM:

在bash中,您可以调用:

export testngVersion=6.0
mvn clean install

或者在jenkins中,通过在
中设置testngVersion=6.0,此构建是参数化的
部分

需要注意的一点是,jenkins构建道具似乎在自由形式作业的Maven构建任务中被忽略(Maven 2/3作业工作正常)。
mvn clean install -Dparameter.one=ONE -Dparameter.two=TWO
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <groupId>com.test</groupId>
    <artifactId>test</artifactId>
    <version>1.0.0</version>
    <name>test</name>
    <properties>
        <testng.version>6.4</testng.version>
    </properties>

    <dependencies>
        <dependency>
            <groupId>org.testng</groupId>
            <artifactId>testng</artifactId>
            <version>${testng.version}</version>
            <scope>test</scope>
        </dependency>
    </dependencies>
</project>
<dependency>
    <groupId>org.testng</groupId>
    <artifactId>testng</artifactId>
    <version>${env.testngVersion}</version>
    <scope>test</scope>
</dependency>
export testngVersion=6.0
mvn clean install