2017-02-21 11 views
0

Я создал задание jenkins, а ниже - файл pom. 1. Можете ли вы предложить способ игнорировать определенное число «нарушений» PMD? 2. Правильно ли эта настройка генерирует отчеты PMD? Цель в Дженкинс является чистой установкой PMD: регистрация сайтаКак настроить порог нарушения PMD в Jenkins

<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> 

ответ

0

Плагин PMD Maven не позволяют порогам установки на количестве нарушений, он либо терпит неудачу при первом нарушении данного приоритета, или не ,

Что бы я мог сделать, это не запустить цель pmd:check, но у вас есть maven для генерации отчетов и используйте команду Jenkins' PMD plugin для анализа отчета xml и сбоя сборки при необходимости.

Плагин PMD для Jenkins позволяет более гибкую конфигурацию порога.

+0

Я использую плагин только для PMD Jenkins только как чистая установка pmd: проверьте сайт. Где Дженкин сохраняет сгенерированный отчет? Не может ли быть спасено в общем месте? Как сделать прохождение сборки даже в случае нарушения PMD? – JMD

+0

Привет @Johnco failOnViolation тоже не работает. Когда используется только «», код строит независимо от значения свойства «». Когда используется только «», сборка выходит из строя независимо от свойства «failOnViolation». – JMD

+0

'pmd: check' - единственная цель использования значения' '(по умолчанию - true). Он основывается на 'pmd: pmd' для генерации отчета, а затем просто отказывается от сборки или нет. Задача связана с этапом жизненного цикла 'verify', поэтому она использует конфигурацию' build', она должна чтить '' для ''. – Johnco