詹金斯的工作有不同的配置吗?

时间:2012-01-06 21:05:27

标签: jenkins

我正在重构一个“太”大的多模块maven Jenkins工作到大约10个更小的maven Jenkins工作(一个带有孩子的父母maven模块)。

我喜欢每2个小时运行一个maven作业而没有像PMD和Checkstyle这样的测试和源代码分析器,而且每天晚上我想用测试和源代码分析器运行它。

我不确定如何做到最好。 Jenkins非常灵活,我读了Jenkins O'Reilly的书,但我不知道怎么做:( 我正在考虑使用Maven Jenkins插件进行工作继承,但我仍然认为我的工作很多。这是要走的路吗?

请一些建议? - 艾德

1 个答案:

答案 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才会运行。