如何在Jenkins中配置PMD违规阈值

问题描述 投票:1回答:2

我创建了一个jenkins工作,下面是pom文件。你能否建议一种忽略某些“X”号PMD违规的方法? 2.此设置是否正确以生成PMD报告? Jenkins的目标是干净安装pmd:检查网站

<build>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-pmd-plugin</artifactId>
            <version>2.7.1</version>
            <configuration>
                <linkXRef>false</linkXRef>
                <!--<targetJdk>1.6</targetJdk>-->

                <failOnViolation>true</failOnViolation>


            </configuration>
            <executions>
                <execution>

                    <goals>
                        <goal>check</goal>
                    </goals>
                </execution>
            </executions>
        </plugin>
    </plugins>
</build>
<reporting>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-pmd-plugin</artifactId>
            <version>2.7.1</version>
            <configuration>
                <linkXRef>false</linkXRef>
                <!--<targetJdk>1.6</targetJdk>-->
                <failurePriority>5</failurePriority>
                <failOnViolation>true</failOnViolation>
                <targetDirectory>./pmdOutput</targetDirectory>
                <rulesets>
                    <ruleset>/rulesets/basic.xml</ruleset>
                </rulesets>
            </configuration>
        </plugin>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-jxr-plugin</artifactId>
        </plugin>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-javadoc-plugin</artifactId>
        </plugin>
    </plugins>
</reporting>
jenkins static-analysis pmd
2个回答
1
投票

PMD Maven插件不允许设置违规次数的阈值,它在第一次违反给定优先级时失败,或者不是。

我可能会做的不是运行pmd:check目标,而是让maven生成报告,并使用Jenkins' PMD plugin来解析报告xml并在需要时使构建失败。

Jenkins的PMD插件允许更灵活的阈值配置。


0
投票

从版本3.10.0开始,PMD具有配置选项maxAllowedViolations:

https://maven.apache.org/plugins/maven-pmd-plugin/cpd-check-mojo.html#maxAllowedViolations

 <plugin>
      <groupId>org.apache.maven.plugins</groupId>
      <artifactId>maven-checkstyle-plugin</artifactId>
      <configuration>
          <maxAllowedViolations>180</maxAllowedViolations>
      </configuration>
</plugin>
© www.soinside.com 2019 - 2024. All rights reserved.