SonarQube est un outil open source pour le développement de systèmes qualité. Il est écrit en Java et prend en charge plusieurs bases de données. Il offre 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. Il contient des analyseurs de code qui sont équipés pour détecter les problèmes délicats. Il s'intègre également facilement avec DevOps.
Dans ce tutoriel, nous allons installer la dernière version de SonarQube sur Ubuntu 16.04.
Conditions préalables
- Une instance de serveur Vultr 64 bits Ubuntu 16.04 avec au moins 2 Go de RAM.
- Un utilisateur sudo .
Avant d'installer des packages sur l'instance de serveur Ubuntu, il est recommandé de mettre à jour le système. Connectez-vous à l'aide de l'utilisateur sudo et exécutez les commandes suivantes pour mettre à jour le système.
sudo apt-get update
sudo apt-get -y upgrade
Étape 2: installer JDK
Ajoutez le référentiel Oracle Java sur le serveur en exécutant.
sudo add-apt-repository ppa:webupd8team/java
sudo apt-get update
Installez Oracle JDK en tapant:
sudo apt install oracle-java8-installer
Vous pouvez maintenant vérifier la version de Java en tapant:
java -version
Étape 3: installer et configurer PostgreSQL
Installez le référentiel PostgreSQL.
sudo sh -c 'echo "deb http://apt.postgresql.org/pub/repos/apt/ `lsb_release -cs`-pgdg main" >> /etc/apt/sources.list.d/pgdg.list'
wget -q https://www.postgresql.org/media/keys/ACCC4CF8.asc -O - | sudo apt-key add -
Installez le serveur de base de données PostgreSQL en exécutant:
sudo apt-get -y install postgresql postgresql-contrib
Démarrez le serveur PostgreSQL et activez-le pour démarrer automatiquement au démarrage en exécutant:
sudo systemctl start postgresql
sudo systemctl enable postgresql
Modifiez le mot de passe de l'utilisateur PostgreSQL par défaut.
sudo passwd postgres
Passez à l' postgres
utilisateur.
su - postgres
Créez un nouvel utilisateur en tapant:
createuser sonar
Basculez vers le shell PostgreSQL.
psql
Définissez un mot de passe pour l'utilisateur nouvellement créé pour la base de données SonarQube.
ALTER USER sonar WITH ENCRYPTED password 'StrongPassword';
Créez une nouvelle base de données pour la base de données PostgreSQL en exécutant:
CREATE DATABASE sonar OWNER sonar;
Quittez le psql
shell:
\q
Revenez à l'utilisateur sudo en exécutant la exit
commande.
Téléchargez l'archive des fichiers du programme d'installation de SonarQube.
wget https://sonarsource.bintray.com/Distribution/sonarqube/sonarqube-6.4.zip
Vous pouvez toujours rechercher le lien vers la dernière version de l'application sur la page de téléchargement de SonarQube .
Installez décompressez en exécutant:
apt-get -y install unzip
Décompressez l'archive à l'aide de la commande suivante.
sudo unzip sonarqube-6.4.zip -d /opt
Renommez le répertoire:
sudo mv /opt/sonarqube-6.4 /opt/sonarqube
Ouvrez le fichier de configuration SonarQube à l'aide de votre éditeur de texte préféré.
sudo nano /opt/sonarqube/conf/sonar.properties
Trouvez les lignes suivantes.
#sonar.jdbc.username=
#sonar.jdbc.password=
Décommentez et fournissez le nom d'utilisateur et le mot de passe PostgreSQL de la base de données que nous avons créée précédemment. Cela devrait ressembler à:
sonar.jdbc.username=sonar
sonar.jdbc.password=StrongPassword
Ensuite, trouvez:
#sonar.jdbc.url=jdbc:postgresql://localhost/sonar
Décommentez la ligne, enregistrez le fichier et quittez l'éditeur.
SonarQube peut être démarré directement à l'aide du script de démarrage fourni dans le package d'installation. Par souci de commodité, vous devez configurer un fichier d'unité Systemd pour SonarQube.
nano /etc/systemd/system/sonar.service
Remplissez le fichier avec:
[Unit]
Description=SonarQube service
After=syslog.target network.target
[Service]
Type=forking
ExecStart=/opt/sonarqube/bin/linux-x86-64/sonar.sh start
ExecStop=/opt/sonarqube/bin/linux-x86-64/sonar.sh stop
User=root
Group=root
Restart=always
[Install]
WantedBy=multi-user.target
Démarrez l'application en exécutant:
sudo systemctl start sonar
Activez le service SonarQube pour qu'il démarre automatiquement au démarrage.
sudo systemctl enable sonar
Pour vérifier si le service est en cours d'exécution, exécutez:
sudo systemctl status sonar
Par défaut, SonarQube écoute localhost sur le port 9000. Dans ce didacticiel, nous utiliserons Apache comme proxy inverse afin que l'application soit accessible via le port HTTP standard. Installez le serveur Web Apache en exécutant:
sudo apt-get -y install apache2
Activer mod_proxy
.
sudo a2enmod proxy
sudo a2enmod proxy_http
Créez un nouvel hôte virtuel.
sudo nano /etc/apache2/sites-available/sonar.yourdomain.com.conf
Remplissez le fichier avec:
<VirtualHost *:80>
ServerName sonar.yourdomain.com
ServerAdmin [email protected]
ProxyPreserveHost On
ProxyPass / http://localhost:9000/
ProxyPassReverse / http://localhost:9000/
TransferLog /var/log/apache2/sonar.yourdomain.com_access.log
ErrorLog /var/log/apache2/sonar.yourdomain.com_error.log
</VirtualHost>
Activez l'hôte virtuel.
sudo a2ensite sonar.yourdomain.com.conf
Démarrez Apache et activez-le pour démarrer automatiquement au démarrage:
sudo systemctl start apache2
sudo systemctl enable apache2
Si votre serveur est déjà en cours d'exécution, redémarrez-le en utilisant:
sudo systemctl restart apache2
Étape 6: terminer l'installation
Démarrez le service SonarQube:
sudo systemctl start sonar
SonarQube est installé sur votre serveur, accédez au tableau de bord à l'adresse suivante.
http://sonar.yourdomain.com
Connectez-vous en utilisant le compte administrateur initial admin
et admin
. Vous pouvez désormais utiliser SonarQube pour analyser en continu le code que vous avez écrit.