Java Maven+;三叶草+;Jenkins-如何在一个命令中获得覆盖率报告和非仪器化工件
我正在尝试运行maven clover插件来生成报告以及生成非仪器化工件Java Maven+;三叶草+;Jenkins-如何在一个命令中获得覆盖率报告和非仪器化工件,java,maven,jenkins,clover,Java,Maven,Jenkins,Clover,我正在尝试运行maven clover插件来生成报告以及生成非仪器化工件 <plugin> <groupId>com.atlassian.maven.plugins</groupId> <artifactId>maven-clover2-plugin</artifactId> <version>3.1.3</version>
<plugin>
<groupId>com.atlassian.maven.plugins</groupId>
<artifactId>maven-clover2-plugin</artifactId>
<version>3.1.3</version>
<configuration>
<generatePdf>true</generatePdf>
<generateHtml>true</generateHtml>
<licenseLocation>clover.license</licenseLocation>
<!-- the contextFilters element has to be specified within the reporting section and will not work if you specify it in the build section. -->
<!-- contextFilters>try,static,catch</contextFilters -->
</configuration>
</plugin>
com.atlassian.maven.plugins
maven-clover2-plugin
3.1.3
真的
真的
三叶草许可证
mvn清洁三叶草2:仪表三叶草2:三叶草安装
若我根据clover doc instument运行上述命令,则目标将在单独的生命周期中运行,并且不会影响默认构建周期。确实如此,但问题是我想在默认构建生命周期中跳过测试。 我尝试了以下步骤,但它跳过了这两个生命周期的测试 mvn清洁三叶草2:仪表三叶草2:三叶草安装-DskipTests
如果上述方法有效,那么我可以在jenkins上简单地设置它,而无需为多个maven命令创建多个作业。用一个神秘的maven命令完成所有工作可能不是最好的办法(同样,将所有代码放在一个过程中也不是最好的办法)。为什么不将命令拆分为几个步骤甚至作业,从而触发另一个呢?此外,从CI的角度来看,不同类型的作业要求不同的优先级快速失败。我知道这并不完全是一个答案。IMO maven应该提供一种方法,为不同的生命周期提供不同的参数。e、 g.mvn清洁站点,在这里我可以传递清洁和站点生命周期的不同参数。或者在插件配置中,我应该能够配置这个插件应该绑定到哪个生命周期另一个选择是jenkins支持多个maven命令rathar,然后期望用户创建多个maven配置文件。更正在某种程度上同意关注点分离。但是IMO jenkins至少应该支持多个maven命令。仅仅为了制造神器而创造一份詹金斯的工作似乎有些过分了。想一想,在开发微服务时,您为一个项目完成了多少CI工作。我可能错了。当然,如果您有自由风格的作业类型,则支持多个maven命令。对于maven类型的作业,有“M2额外步骤插件”插件。它允许您在主构建之前和之后执行maven目标,但我从未在现实生活中使用过它。