Maven 如何在mvn中作为测试运行脚本
我希望在Maven/Jenkins中有以下场景:Maven 如何在mvn中作为测试运行脚本,maven,testing,jenkins,Maven,Testing,Jenkins,我希望在Maven/Jenkins中有以下场景: 运行测试脚本(bash/shell) 当脚本出现问题(错误)退出时,Jenkins上的Maven build应该处于不稳定状态,而不是失败状态 问题:我怎么做?您可以使用及其目标在Maven中运行脚本 如果您想在测试阶段运行脚本,则可以将插件的执行绑定到脚本,如下所示: <build> <plugins> <plugin> <groupId>org
- 运行测试脚本(bash/shell)
- 当脚本出现问题(错误)退出时,Jenkins上的Maven build应该处于
状态,而不是不稳定
状态失败
问题:我怎么做?您可以使用及其目标在Maven中运行脚本 如果您想在
测试
阶段运行脚本,则可以将插件的执行绑定到脚本,如下所示:
<build>
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>exec-maven-plugin</artifactId>
<version>1.4</version>
<executions>
<execution>
<id>run-test-script</id>
<phase>test</phase>
<goals>
<goal>exec</goal>
</goals>
</execution>
</executions>
<configuration>
<executable><!-- configure here your script .sh/.cmd --> </executable>
<arguments>
<argument><!-- configure here arguments, if any --></argument>
</arguments>
<workingDirectory><!-- configure here PWD, if required --></workingDirectory>
</configuration>
</plugin>
</plugins>
</build>
org.codehaus.mojo
并将其配置为生成后操作:
- 您应该设置一个正则表达式,它可以作为Jenkins上Maven构建输出的一部分找到。例如,正则表达式
*脚本失败。*
将与脚本在这种情况下打印的字符串脚本失败
匹配。因此构建实际上会失败,但是我们可以在Jenkins上更改它的状态(但在Maven上不能)
- 如果找到,您应该选中选项
不稳定
,该选项将生成的状态从失败
转换为不稳定
根据不稳定(如果发现)
选项的文档:
使用此选项将生成设置为不稳定,而不是使生成失败
您可以在下图中看到此类配置的示例:
因此,您将在测试阶段执行一个脚本,如果脚本执行,Maven构建将失败,但Jenkins构建将根据您对文本查找器插件的配置更改其状态
还要注意:如果您希望Maven在脚本失败的情况下不会失败,您可以使用上面提到的successCodes
,并且仍然让Jenkins构建根据文本查找器插件的相同配置将其状态更改为不稳定
。因此,不同的组合是可能的。您可以使用及其目标在Maven中运行脚本
如果您想在测试
阶段运行脚本,则可以将插件的执行绑定到脚本,如下所示:
<build>
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>exec-maven-plugin</artifactId>
<version>1.4</version>
<executions>
<execution>
<id>run-test-script</id>
<phase>test</phase>
<goals>
<goal>exec</goal>
</goals>
</execution>
</executions>
<configuration>
<executable><!-- configure here your script .sh/.cmd --> </executable>
<arguments>
<argument><!-- configure here arguments, if any --></argument>
</arguments>
<workingDirectory><!-- configure here PWD, if required --></workingDirectory>
</configuration>
</plugin>
</plugins>
</build>
org.codehaus.mojo
并将其配置为生成后操作:
- 您应该设置一个正则表达式,它可以作为Jenkins上Maven构建输出的一部分找到。例如,正则表达式
*脚本失败。*
将与脚本在这种情况下打印的字符串脚本失败
匹配。因此构建实际上会失败,但是我们可以在Jenkins上更改它的状态(但在Maven上不能)
- 如果找到,您应该选中选项
不稳定
,该选项将生成的状态从失败
转换为不稳定
根据不稳定(如果发现)
选项的文档:
使用此选项将生成设置为不稳定,而不是使生成失败
您可以在下图中看到此类配置的示例:
因此,您将在测试阶段执行一个脚本,如果脚本执行,Maven构建将失败,但Jenkins构建将根据您对文本查找器插件的配置更改其状态
还要注意:如果您希望Maven在脚本失败的情况下不会失败,您可以使用上面提到的successCodes
,并且仍然让Jenkins构建根据文本查找器插件的相同配置将其状态更改为不稳定
。因此不同的组合是可能的。@Azriel这种方法有帮助吗?我放弃了,决定从JUNIT@Azriel这种方法有用吗?我放弃了,决定从JUNIT运行测试