Contrôler la qualité de ses projets avec Sonar


précédentsommairesuivant

II. Installation et configuration

Il est à noter que la procédure d'installation et de configuration expliquée ici se base sur la version 2.9 de Sonar. Même si cette procédure n'a que peu évolué depuis plusieurs versions, en cas de besoin, le site de Sonar propose les procédures d'installation des versions antérieures de l'outil.

II-A. Prérequis

Pour pouvoir fonctionner, Sonar nécessite l'installation d'une version 5 (ou supérieure) de Java.

Sonar historise les données (mesures et métriques) des projets, et demande donc un accès à une base de données. Par défaut, Sonar est livré avec une base de données interne (Apache Derby), mais c'est avant tout dans le but de tester facilement l'outil. Il est toutefois très fortement conseillé d'avoir recours à une base de données de type MySQL 5.x+, Oracle 10g+, PostgreSQL 9.x+ ou MS SQLServer 2005 en local. En termes d'espace de stockage, Sonar indique n'avoir besoin "que" de 2 Go pour historiser deux années d'analyse sur un million de lignes de code !

Il peut être soit démarré en tant que serveur propre (et pouvant également s'installer comme un service Windows), soit être déployé sur un serveur d'application type Tomcat (la création d'un .WAR est requise).

II-B. Installation et configuration

II-B-1. Téléchargement

En premier lieu, il faut télécharger l'archive Sonar sur le site de SonarSource. À l'heure actuelle, la dernière version disponible est la 2.9 (juillet 2011). Il s'agit d'un fichier ZIP dont on décompressera le contenu dans un répertoire.

II-B-2. Paramétrage de la base de données

Comme nous l'avons dit, Sonar embarque une base de données Apache Derby. Toutefois, pour des raisons de confort, il peut être préférable de configurer Sonar pour accéder à une autre base de données, MySQL 5.x, Oracle 10g XE et PostgreSQL 8.3 étant supportées. Il faut ensuite éditer le fichier de configuration conf/sonar.properties. Par défaut, les trois lignes suivantes correspondent à la configuration Apache Derby :

 
Sélectionnez

sonar.jdbc.url: jdbc:derby://localhost:1527/sonar;create=true
sonar.jdbc.driver: org.apache.derby.jdbc.ClientDriver
sonar.jdbc.defaultTransactionIsolation: 1

Pour utiliser une base de données tierce, il faudra tout d'abord commenter ces trois lignes. Pour cela, il suffit d'ajouter un # devant chaque ligne. Il faut ensuite décommenter les lignes correspondant à la base de données choisie. Par exemple, pour MySQL, cela nous donnera :

 
Sélectionnez

sonar.jdbc.url: jdbc:mysql://localhost:3306/sonar?useUnicode=true&characterEncoding=utf8
sonar.jdbc.driver: com.mysql.jdbc.Driver
sonar.jdbc.validationQuery: select 1

Au niveau de la base de données, il faut créer la base sonar avec les droits de création de tables. Dans le cas où l'on utilise la base de données MySQL, il est possible d'utiliser le script se trouvant dans le répertoire extras/database/mysql.

II-B-3. Installation et configuration

Une fois le ZIP téléchargé et décompressé et la configuration de la base de données définie, il suffit d'exécuter la commande suivante (pour Windows) :

bin\windows-x86-32\StartSonar.bat

ou, pour les autres environnements :

bin/[OS]/sonar.sh console

II-B-2-a. Installation comme service Windows

Sonar peut être installé comme service Windows. La configuration de ce service est définie dans les fichiers conf/wrapper.conf et conf/sonar.properties. Il est préférable de ne pas toucher au premier de ces fichiers, celui-ci décrivant les caractéristiques du service Windows.

Il est possible de changer le port du serveur Sonar, qui est par défaut le port 9000. On éditera le fichier conf/sonar.properties pour changer la ligne suivante :
sonar.web.port:9000

À noter que cette valeur n'est utilisée que si Sonar est exécuté en serveur propre (donc ne concerne pas l'intégration à Tomcat).

Il suffit maintenant d'installer le service Windows en exécutant le fichier bin/windows-x86-32/InstallNTService.bat. Le démarrage de Sonar se fait désormais en démarrant le service Windows ainsi créé.

Notez la présence du fichier bin/windows-x86-32/UninstallNTService.bat qui permet de supprimer le service Windows, en cas de besoin.

II-B-2-b. Intégration à un serveur Tomcat

Il est possible d'intégrer Sonar à un serveur Tomcat 5.x, 6.x, 7.x ou Jetty 6.x.

La première chose est de configurer Sonar via le fichier conf/sonar.properties. Ensuite, il faut exécuter le script war/build-war.bat (ou war/build-war.sh). Une fois la commande terminée, le fichier sonar.war se trouvera dans le répertoire war/. Il suffira donc de le déployer sur le serveur Tomcat (on peut par exemple déposer ce nouveau fichier dans le répertoire webapps/ de Tomcat).

Sonar étant assez gourmand en mémoire, il est nécessaire de modifier le paramètre CATALINA_OPTS (se trouvant dans bin/catalina.bat par exemple) pour affecter un minimum de 512 Mo de mémoire :

CATALINA_OPTS="-Xmx=512m"

Par défaut, le port de Tomcat est le 8080. L'accès au serveur de Sonar se fera donc à l'adresse http://url-du-serveur-tomcat:8080/sonar.

II-C. Mise à jour d'un serveur existant

Dans le cas où vous désirez mettre à jour un serveur Sonar déjà existant, il vous faudra suivre la procédure décrite sur cette page. À noter que les versions récentes de Sonar proposent un centre de mise à jour (voir le chapitre d'administration de Sonar) qui indiquera la disponibilité éventuelle d'une nouvelle version de l'outil.

Image non disponible

Il conviendra de réaliser un backup de la base de données avant toute mise à jour !

II-D. Démarrage

Si Sonar n'a pas été installé comme service Windows, la commande bin/windows-x86-32/StartSonar.bat (Windows) ou bin/[plateforme]/sonar.sh start (pour les autres plateformes) permet de démarrer le serveur Sonar. Par défaut, il suffit de se rendre à l'adresse http://url-du-serveur-sonar:9000 pour accéder à Sonar. Si Sonar est déployé sur un serveur Tomcat, l'adresse sera plutôt http://url-du-serveur-tomcat:8080/sonar (8080 étant le port par défaut de Tomcat). Lors du premier démarrage, une page vide nous accueille :

Image non disponible

Lorsqu'il s'agit d'une migration de version de Sonar, le premier accès au serveur va afficher une page indiquant qu'une mise à jour de la base de données doit être réalisée.

Il ne nous reste maintenant plus qu'à lancer l'analyse d'un projet (voir chapitres suivants).

En cas de problème, il est possible de consulter les logs de l'application dans le répertoire logs/ (en particulier le fichier sonar.log).


précédentsommairesuivant

Vous avez aimé ce tutoriel ? Alors partagez-le en cliquant sur les boutons suivants : Viadeo Twitter Facebook Share on Google+   

Ce document est issu de http://www.developpez.com et reste la propriété exclusive de son auteur. La copie, modification et/ou distribution par quelque moyen que ce soit est soumise à l'obtention préalable de l'autorisation de l'auteur.