Je veux utiliser PyLint sur Jenkins avec Plugin Warnings et Pipleine , car le plugin Violations est obsolète.
Il n'y a pas de documents ou d'exemples complets.
Il y a quelques informations :
timeout(time: 5, unit: 'MINUTES') {
sh 'npm run lint:ci'
step([$class: 'WarningsPublisher',
parserConfigurations: [[
parserName: 'JSLint',
pattern: 'pmd.xml'
]],
unstableTotalAll: '0',
usePreviousBuildAsReference: true
])
}
et solutions de contournement :
pylint || exit 0
Mais cela ne suffit pas.
J'ai réussi à le faire fonctionner:
sh 'pylint --disable=W1202 --output-format=parseable --reports=no module > pylint.log || echo "pylint exited with $?")'
sh 'cat render/pylint.log'
step([
$class : 'WarningsPublisher',
parserConfigurations : [[
parserName: 'PYLint',
pattern : 'pylint.log'
]],
unstableTotalAll : '0',
usePreviousBuildAsReference: true
])
Je ne sais toujours pas comment le configurer.
D'après ce que j'ai pu lire dans code source et tests , ce sont peut-être les paramètres possibles car ce sont les paramètres du constructeur:
healthy
- Rapporte la santé à 100% lorsque le nombre d'annotations est inférieur à cette valeurunHealthy
- Rapporte la santé à 0% lorsque le nombre d'annotations est supérieur à cette valeurthresholdLimit
- détermine quelles priorités d'avertissement doivent être prises en compte lors de l'évaluation de la stabilité et de l'intégrité du builddefaultEncoding
- l'encodage par défaut à utiliser lors de la lecture et de l'analyse des fichiersuseDeltaValues
- détermine si le delta d'annotations absolu ou la différence de jeu d'annotations réelle doit être utilisé pour évaluer la stabilité de la constructionunstableTotalAll
- seuil d'annotationunstableTotalHigh
- seuil d'annotationunstableTotalNormal
- seuil d'annotationunstableTotalLow
- seuil d'annotationunstableNewAll
- seuil d'annotationunstableNewHigh
- seuil d'annotationunstableNewNormal
- seuil d'annotationunstableNewLow
- seuil d'annotationfailedTotalAll
- seuil d'annotationfailedTotalHigh
- seuil d'annotationfailedTotalNormal
- seuil d'annotationfailedTotalLow
- seuil d'annotationfailedNewAll
- seuil d'annotationfailedNewHigh
- seuil d'annotationfailedNewNormal
- seuil d'annotationfailedNewLow
- seuil d'annotationcanRunOnFailed
- détermine si le plug-in peut également s'exécuter pour les builds ayant échouéusePreviousBuildAsReference
- détermine s'il faut toujours utiliser la build précédente comme build de référenceuseStableBuildAsReference
- détermine si seules les versions stables doivent être utilisées comme versions de référence ou noncanComputeNew
- détermine si de nouveaux avertissements doivent être calculés (par rapport à la ligne de base)shouldDetectModules
- détermine si les noms de module doivent être dérivés des fichiers de build Maven POM ou AntincludePattern
- Modèle de jeu de fichiers Ant à inclure dans le rapportexcludePattern
- Modèle de jeu de fichiers Ant à exclure du rapportcanResolveRelativePaths
- détermine si les chemins relatifs dans les avertissements doivent être résolus à l'aide d'une opération coûteuse en temps qui analyse tout l'espace de travail pour rechercher les fichiers correspondants.parserConfigurations
- les configurations de l'analyseur pour analyser les fichiersconsoleParsers
- les analyseurs pour scanner la consoleEt le parserConfigurations
javadoc dit seulement:
pattern
- le motif des fichiers à analyserparserName
- le nom de l'analyseur à utiliseroù la liste des coutures des analyseurs doit être ici .
Si vous avez plus d'informations ou quelque chose à corriger, n'hésitez pas à modifier ou à déposer un commentaire.
Notez qu'une alternative à || exit 0
ou || echo "failed"
(ce qui est bien) consiste à utiliser pylint --exit-zero
:
--exit-zero Always return a 0 (non-error) status code, even if lint errors are found. This is primarily useful in continuous integration scripts.