11
votes

Comment utiliser le plugin de rapport sur (PMD, PHPCPD, CheckStyle, Jdepend ...) dans un pipeline Jenkins?

J'utilise Jenkins 2.x avec un Jenkinsfile Code> pour exécuter un pipeline.

J'ai construit un emploi à l'aide de Jenkinsfile et je souhaite appeler le plugin collecteur d'analyse afin que je puisse voir le Rapport. P>

Voici mon actuel Jenkinsfile: P>

#!groovy

node {

  stage 'Build '
    echo "My branch is: ${env.BRANCH_NAME}"
    sh 'cd gitlist-PHP && ./gradlew clean build dist'

  stage 'Report'
    step([$class: 'JUnitResultArchiver', testResults: 'gitlist-PHP/build/logs/junit.xml'])
    step([$class: 'hudson.plugins.checkstyle.CheckStylePublisher', checkstyle: 'gitlist-PHP/build/logs/phpcs.xml'])
    step([$class: 'hudson.plugins.dry.DryPublisher', CopyPasteDetector: 'gitlist-PHP/build/logs/phpcpd.xml'])

  stage 'mail'
  mail body: 'project build successful',
     from: 'siregarpandu@gmail.com',
     replyTo: 'xxxx@yyyy.com',
     subject: 'project build successful',
     to: 'siregarpandu@gmail.com'
}


1 commentaires

Veuillez éditer votre question et corrigez votre style. Votre question est très difficile à lire.


4 Réponses :


2
votes

Il semble que les plugins doivent être modifiés pour prendre en charge le fonctionnement en tant que pipeline étapes , donc S'ils n'ont pas été mis à jour, ils ne fonctionnent pas.

Voici une liste de plugins compatibles qui ont été mis à jour:
https://github.com/jenkinsci/pipeline-plugin/blob/master /Compatibility.md

Et voici la documentation sur la mise à jour des plugins pour prendre en charge les pipelines:
https://github.com/jenkinsci/pipeline-plugin/blob/master /DevGuide.md


1 commentaires

Remarque, il ne semble pas que le fichier de compatibilité est à jour, la checkstyle est prise en charge comme une étape générale de construction: Étape ($ CLASSE: 'CheckStylePublisher', CANCOMPUNENEW: FAUX, DefaulageCoding: '', Santé: '', Modèle : '** / checkstyle-résultat.xml', malsain: '']) fonctionne pour moi ..



5
votes
step([$class: 'hudson.plugins.checkstyle.CheckStylePublisher', checkstyle: 'gitlist-PHP/build/logs/phpcs.xml'])
Also according to source code repo, the argument 'checkstyle' should be named 'pattern'.Repo:
https://github.com/jenkinsci/checkstyle-plugin/blob/master/src/main/java/hudson/plugins/checkstyle/CheckStylePublisher.java#L42

0 commentaires

7
votes

La configuration suivante fonctionne pour moi:

junit 'target/test-reports/*.xml'


0 commentaires

5
votes

C'est comme ça que je gère cela:

PMD strong> p> xxx pré>

phpcpd strong> p>

stage('Software metrics') {
    steps {
        sh 'vendor/bin/pdepend --jdepend-xml=build/logs/jdepend.xml --jdepend-chart=build/pdepend/dependencies.svg --overview-pyramid=build/pdepend/overview-pyramid.svg --ignore=vendor .'
    }
}


0 commentaires