将“ non D”参数传递给Jenkins Maven构建步骤

时间:2019-05-03 12:59:31

标签: maven jenkins

在詹金斯(Jenkins)正在构建的项目中,我有几个“调用顶级Maven目标”构建步骤。

在“属性”字段中,您可以指定任意数量的Maven构建参数,例如

skipTests=true计算为-DskipTests=true

但是,我想传递一个不能以-D开头并且也不需要等号的build参数。 像-Psomething

是否可以使用“调用顶级Maven目标”来执行此操作,还是需要通过“执行外壳”手动触发mvn构建?

谢谢!

1 个答案:

答案 0 :(得分:0)

传递属性的一种解决方法是设置环境变量并读取它们。参见this SO post

另一个解决方法是使用配置文件。基本上,在下面的示例中,您必须将环境变量RUNTESTS设置为true才能激活您的配置文件,并且可以在此配置文件中执行预期的任务(例如,有条件地运行junits)。

<profile>
            <id>runtests</id>
            <activation>
                <property>
                    <name>env.RUNTESTS</name>
                    <value>true</value>
                </property>
            </activation>
            <build>
                <finalName>re</finalName>
                <plugins>
                <plugin>
                        <groupId>org.apache.maven.plugins</groupId>
                        <artifactId>maven-surefire-plugin</artifactId>
                        <version>3.0.0-M1</version>
                        <configuration>
                            <executions>
                                <execution>
                                    <id>default-test</id>
                                    <phase>test</phase>
                                    <goals>
                                        <goal>test</goal>
                                    </goals>
                                </execution>
                            </executions>
                            <forkCount>1</forkCount>
                            <reuseForks>false</reuseForks>
                            <testFailureIgnore>false</testFailureIgnore>
                        </configuration>
                    </plugin>

                </plugins>
            </build>
        </profile>