如何在运行"maven clean install"和Sonar时只运行一次单元测试?

Rob*_*ber 6 unit-testing surefire maven jenkins sonarqube

我的Jenkins作业有以下配置:首先清理并构建maven项目,然后运行单元测试和静态分析:clean install sonar:sonar 问题在于install,sonar:sonar每个都运行单元测试,这有效地使构建时间加倍.

我通过改变固定此clean install sonar:sonarclean install -DskipTests和使用詹金斯声纳插件运行声纳.现在单元测试只运行一次,声纳显示结果,但Jenkins不再知道测试了.

我的猜测是Jenkins只是在构建之后查看surefire-reports文件夹,而不是在Sonar之后(这是一个构建后的动作).

pus*_*shy 11

您可以clean install -DskipTests先运行然后再添加第二个maven构建步骤sonar:sonar.测试(和完整的声纳分析)将在构建阶段运行,然后jenkins可以收集确定的结果.