Progi1984 : Utiliser CodeClimate avec Github & Travis dans un projet PHP
lundi 1 février 2016 à 10:30Après avoir utilisé Scrutinizer-CI, j’ai décidé d’utiliser CodeClimate pour PHPPresentation.
Ajout du projet sur CodeClimate
Après une connexion via GitHub, j’ai ajouté un projet de type « Repository GitHub ».
Vous avez juste à ajouter le propriétaire et le nom du projet GitHub. Dans notre cas, ce sera « PHPOffice/PHPPresentation ».
L’ajout se fait automatiquement et après le premier build, votre accueil devrait se présenter comme cela :
Intégration de CodeClimate dans votre projet
Pour cela, il suffit de rajouter à la racine de votre dépôt un fichier .codeclimate.yml de ce type :
engines: phpcodesniffer: enabled: true phpmd: enabled: true duplication: enabled: true config: languages: - php ratings: paths: - src/**/* - tests/** exclude_paths: - vendor/**/*
Grâce au nœud « engines », votre projet sera testé via PHPCodeSniffer, PHPMd et via un outil interne sur la duplication de code.
Grâce au nœud « ratings », seuls les chemins définis seront utilisés pour le calcul de votre projet.
Grâce au nœud « exclude_paths », les chemins définis seront exclus de l’analyse.
Intégration de CodeClimate avec Travis-CI
Il vous faut pour cela aller dans les settings du projet puis sur l’onglet « Test Coverage ».
A partir de là, tout devrait vous être expliqué.
Mais en gros, cela se passe comme tel :
- Modifier votre composer.json pour ajouter un require-dev :
{ "require-dev": { "codeclimate/php-test-reporter": "dev-master" } }
- Modifier votre .travis.yml pour que PHPUnit gère bien un fichier clover.xml :
phpunit --coverage-clover build/logs/clover.xml
- Modifier votre .travis.yml pour ajouter le token du repo pour l’addon
- Modifier votre .travis.yml pour que dans la partie
after_script
, les données soient envoyées :after_script: - vendor/bin/test-reporter
Conclusion
Votre code sera désormais testé via l’outil d’analyse de code statique qu’est CodeClimate et un rapport vous sera fourni où seront disponible les erreurs tel le code dupliqué, les erreurs dans le coding style, des vulnérabilités potentiels, des morceaux de code à clarifier car pouvant porter à confusion ou des codes contenant trop de lignes et générant ainsi de la complexité cyclomatique.
Cet article Utiliser CodeClimate avec Github & Travis dans un projet PHP est apparu en premier sur RootsLabs.
Original post of Progi1984.Votez pour ce billet sur Planet Libre.
Articles similaires
- Progi1984 : Utiliser Coveralls avec Github & Travis dans un projet PHP (07/04/2014)
- Progi1984 : Utiliser Scrutinizer avec Github & Travis dans un projet PHP (12/05/2014)
- Progi1984 : Publier automatiquement une PHPDoc sur GitHub avec Travis CI (05/05/2014)
- Progi1984 : Intégration Continue d’un projet PHP avec Travis CI (04/11/2013)
- Progi1984 : Automatiser vos tâches sur un projet PHP avec Phing (11/11/2013)