SonarQube est un outil open source développée par SonarSource. Il est écrit en Java et prend en charge plusieurs bases de données. Fournit des capacités pour inspecter en continu le code, montrer la santé d'une application et mettre en évidence les problèmes récemment introduits. Contient des analyseurs de code pour détecter des problèmes complexes. Il s'intègre également facilement avec DevOps.
Dans cet article on va installer SonarQube sur Centos 7 et on va lancer un premier scan.
Prérequis
Désactiver SELinux
Changer “SELINUX=enforcing” en “SELINUX=disabled” dans le fichier /etc/sysconfig/selinux.
Ajouter les lignes suivantes dans le fichier sysctl.conf:
Mettre à jour le système et redémarrer
Installation Java 11
Ajouter à la fin du fichier /etc/bashrc:
Pour vérifier la version de java: java -version
Installation PostgreSQL
Initialisation de la base de donnes:
Modifications du fichier /var/lib/pgsql/12/data/pg_hba.conf
Original:
Après modification:
Changer le mot de passe de l'utilisateur postgres:
Passer à l'utilisateur postgres:
Créer un nouvel utilisateur:
Basculer vers le shell PostgreSQL:
Définissez un mot de passe pour le nouvel utilisateur créé pour la base de données SonarQube:
Créer une nouvelle base de données pour la base de données PostgreSQL:
Quittez le shell psql et se déconnecter de l’utilisateur postgres:
Télécharger et configurer SonarQube
Se rendre dans le fichier: /opt/sonarqube/conf/sonar.properties
Trouver les lignes suivantes. Dé-commenter et modifier les valeurs.
Créer un utilisateur sonar & changer son mot de passe:
Créer les dossiers suivants:
Changer les droits sur les dossiers:
Configurer Sonarqube en tant que service /etc/systemd/system/sonarqube.service) :
Commandes de démarrage:
Logs :
Sonarqube est accessible en local sur le port 9000. Si vous souhaitez accéder a l’interface Sonarqube je vous conseille de générer un certificat letsencrypt et de réaliser un proxy avec votre serveur web préféré. Cette partie ne sera pas démontré dans cet article. La documentation officielle pourra vous aider.
La première question à laquelle il faut répondre lors de la définition de la stratégie de sécurité pour SonarQube est la suivante: les utilisateurs anonymes peuvent-ils parcourir l'instance SonarQube ou une authentification est-elle requise?
Pour forcer l'authentification des utilisateurs, connectez-vous en tant qu'administrateur système, accédez à Administration > Configuration > General Settings > Security et définissez la propriété Force user authentication sur true.
Installer sonnar-scanner
Lancer son premier scan
Pour réaliser son premier scan il faut que le projet soit disponible sur la machine qui dispose de sonar-scanner. Deux méthodes existent pour le lancement du scan :
La première méthode consiste a créer un nouveau fichier dans le chemin du dossier racine de votre projet avec le nom sonar-project . L'extension du fichier sera .properties.
Ajouter les configurations de base suivantes dans le fichier sonar-project.properties:
Vous trouverez dans la documentation officielle tous les paramètres pour le scan.
Pour lancer le scan :
La deuxième méthode consiste a lancer la commande avec tous les variables du projet. Pratique si on ne veut pas créer un nouveau fichier.
Si vous accédez à la plate-forme via votre navigateur, vous verrez le tableau de bord avec les données du résultat de l'analyse.
Vous avez les données concernant la qualité de votre code. Ces données sont une des étapes pour l'amélioration et le suivi votre code.
Happy coding!!!
