RootsLabs

More than a tool ! GitHub Google+ LinkedIn RSS

Utiliser CodeClimate avec Github & Travis dans un projet PHP

Progi1984 - Commentaires (1)

Après avoir utilisé Scrutinizer-CI, j’ai décidé d’utiliser CodeClimate pour PHPPresentation.

Logo CodeClimate

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

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.

Commentaires

1. Hector, le 28 juin 2016 à 14:52

Merci pour votre aide, j’en avais bien besoin

Ajouter un commentaire

Commentaire :