我正在重构一个“太”大的多模块maven Jenkins工作到大约10个更小的maven Jenkins工作(一个带有孩子的父母maven模块)。
我喜欢每2个小时运行一个maven作业而没有像PMD和Checkstyle这样的测试和源代码分析器,而且每天晚上我想用测试和源代码分析器运行它。
我不确定如何做到最好。 Jenkins非常灵活,我读了Jenkins O'Reilly的书,但我不知道怎么做:( 我正在考虑使用Maven Jenkins插件进行工作继承,但我仍然认为我的工作很多。这是要走的路吗?
请一些建议? - 艾德
答案 0 :(得分:0)
我使用的一个技巧是为我想要禁用的任何插件设置构建阶段的属性,并在jenkins中手动设置它。例如,请参阅下面的pmd插件:
请参阅$ {pmd.phase}
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-pmd-plugin</artifactId>
<version>2.5</version>
<configuration>
<targetJdk>1.6</targetJdk>
<linkXref>false</linkXref>
<failOnViolation>true</failOnViolation>
<failurePriority>1</failurePriority>
<rulesets>
<ruleset>${pom.basedir}/pmd-rulesets.xml</ruleset>
</rulesets>
</configuration>
<executions>
<execution>
<phase>${pmd.phase}</phase>
<goals>
<goal>check</goal>
</goals>
</execution>
</executions>
</plugin>
现在定义
<properties>
<pmd.phase>none</pmd.phase>
</properties>
在jenkins中设置目标和选项字段以清除安装-Dpmd.phase = validate
命令行属性会覆盖已定义的属性,因此仅当-Dpmd.phase = validate存在时,pmd才会运行。