Testé avec Python 3.4
Installer les librairies suivantes sur la machine de test:
pip install nose2pip install cov-corepip install junit-xmlpip install pylint
> si ImportError au lancement de pylint, executer aussi:
> pip install wrapt lazy_object_proxy --upgradeInstaller les plugins:
Cliquer sur Télécharger et redémarrer ensuite
Dans Configurer Jenkins>Configurer le système
C:\Windows\system32\cmd.exeCliquer sur New Job > Freestyle project > OK
Sur la page de configuration du Job, choisir Git comme SCM, avec le chemin du repo local comme repository path
Add Build Step > Execute windows batch command
Ajouter au champs Command:
set PYTHONPATH=''
nose2 --plugin nose2.plugins.junitxml --junit-xml --with-coverage
python -m coverage xml --include=.\*
pylint -f parseable [nom_du_module] > pylint.log
exit 0
attention au module donné en paramètre à pylint: celui-ci doit comprendre un fichier __init__.py
Puis pour interpréter les résultats:
Add Post Build Step > Publish Cobertura Coverage ReportDans Xml report pattern: coverage.xml
Add Post Build Step > Publish JUnit test result reportDans Test report xmls: nose2-junit.xml
Add Post Build Step > Report ViolationsDans pylint: **/pylint.log attention au type de slash
Dans Source Path pattern: **/
Add Post Build Step > Execute a set of scripts > Build steps > Executer une commande windowsInsérer la commande:
echo off
setlocal enabledelayedexpansion
cd %JENKINS_HOME%\jobs\%JOB_NAME%\builds\%BUILD_NUMBER%\violations
for /f "delims=" %%l in (violations.xml) do (
set str=%%l
set str=!str:\=/!
echo !str! >> violations.tmp
)
ren violations.xml violations.old
ren violations.tmp violations.xml
Cocher:
ce dernier script permet de corriger le fichier violations.xml et de le rendre lisible par Jenkins
Cliquer sur Lancer le build
Les résultats de l'éxecution sont accessibles dans Console Output
Depuis l'écran principal, on a accès aux résultats des tests, à leur couverture, ainsi qu'aux violations pylint