TL ; DR
Cette série va vous expliquer comment mettre en place une analyse de la qualité de votre code automatique, pour presque gratuit avec Visual Studio Team Services, Docker, Azure, et SonarQube.
Préambule
Dans tous nos projets de développement on a tous du code de mauvaise qualité. Cela va du hack dont on est pas fier et qu’on a dû réaliser rapidement à un certain moment au code réalisé il fut un temps par un développeur qui a quitté la compagnie et dont personne n’est au courant.
Le problème avec ce code c’est qu’il finit par s’accumuler et ralentir le rythme de livraison de nouvelles fonctionnalités. Les raisons étant variées, beaucoup de temps passé en bug fix, en refactoring, en support…
Afin de sortir de ce cercle vicieux, il faut connaitre l’état des lieux puis refaire des analyses périodiquement pour savoir quelle est la quantité de travail à fournir pour corriger la situation, est-ce qu’on est en train d’améliorer la situation ou de l’aggraver, etc…
J’ai récemment* eu la chance d’assister à une présentation des fonctionnalités de SonarQube, c’est donc l’outil/la plateforme que nous allons étudier durant cette série d’articles. Sachez qu’il en existe d’autres les avantages de cette dernière étant qu’elle est opensource, relativement connue des développeurs java et supportée par une communauté assez importante. Enfin lors de la build Microsoft en a rapidement parlé en keynote et travaille avec la communauté pour l’intégrer avec les outils/langages Microsoft.
*Ayant donné beaucoup de conférences cette année l’écriture de cet article a pris énormément de retard, j’arrive enfin à le publier un an après avoir découvert et creusé le sujet.
Entre temps Microsoft a eu le temps de publier deux articles.
Un pour l’installation de tout la suite en local, je vais plutôt vous guider pour le faire en ligne.
Un autre pour installer ça dans une vm sur Azure (à base Windows).
Au moment où vous lirez cet article, ils seront déjà tous programmés à la publication, si jamais vous voulez revenir sur un article ou un autre, plutôt que de faire un article sommaire j’ai décidé d’utiliser les tags de mon blog.
Objectifs
En étudiant le sujet et au fur et à mesure de la rédaction, je me suis rendu compte qu’il y avait énormément de choses à dire. Aussi je vous propose cette série dont les objectifs sont :
De vous introduire à la notion de dette technique (déjà fait) et d’analyse statique automatisée
De vous introduire à SonarQube
De vous aider à mettre tout ça en place en quelques heures sur un premier projet et ce pour gratuit (en dehors du coup d’exploitation des machines)
De vous donner quelques conseils pour finaliser la configuration sur vos divers projets
Votre installation
Pour réaliser votre installation vous avez deux options :
Ou bien vous êtes pressés et savez déjà de quoi je parle, vous pouvez passer directement à l’installation depuis github https://github.com/baywet/azure-docker-sonarqube
Ou bien vous découvrez Azure, Docker, SonarQube et vous voulez plus d’explications que simplement le step by step, dans ce cas suivez cette série de blogs