Installez SonarQube sur l'instance ECS sur Ubuntu 16.04

Dans ce didacticiel, vous allez installer et configurer SonarQube sur une instance Alibaba Cloud ** Elastic Compute Service ** (ECS) à l'aide d'Ubuntu 16.04.

Besoin de Sonar Qube

SonarQube peut analyser statiquement le code pour découvrir les failles de sécurité, détecter les bogues et examiner le code. Effectue des révisions automatiques pour montrer l'état de votre application. SonarQube dispose d'un Quality Gate qui peut mettre en évidence les erreurs récemment introduites et corriger les fuites. Vous pouvez analyser les demandes d'extraction pour effectuer une analyse sur les branches d'entités avant d'être poussées vers SonarQube. De cette façon, vous aurez la possibilité de résoudre le problème avant qu'il n'atteigne SonarQube.

Une analyse de branche est effectuée pour s'assurer que le code est propre et approuvé pour fusionner dans le maître. SonarQube vous permet d'approfondir le problème afin que vous puissiez l'analyser et le trouver dans votre code. SonarQube visualise l'historique de votre projet et explore tous les chemins d'exécution.

En bref, SonarQube aide à maintenir votre code en détectant les problèmes, les vulnérabilités de sécurité et les odeurs de code et en fournissant les résultats dans un format de rapport. Pour utiliser SonarQube, il est nécessaire d'installer l'application du moteur d'analyse sur l'ordinateur personnel du développeur et d'installer un serveur qui gère de manière centralisée les rapports et les enregistrements. Cela permet d'accéder aux applications serveur à partir des ordinateurs de plusieurs développeurs, permettant un reporting centralisé de la qualité du code.

Dans ce didacticiel, SonarQube est installé sur une instance Alibaba Cloud Elastic Compute Service (ECS) à l'aide d'Ubuntu 16.04. Ensemble.

Conditions préalables

  1. Vous devez activer Alibaba Cloud Elastic Compute Service (ECS) et vérifier le mode de paiement valide. .. Pour les nouveaux utilisateurs, obtenez un compte gratuit avec votre compte Alibaba Cloud (https://account-intl.aliyun.com/register/intl_register.htm?spm=a2c65.11461447.0.0.44ec591fyZ0TTr&biz_params=%7B%22intl%22 % 3A% 22% 7B% 5C% 22referralCode% 5C% 22% 3A% 5C% 22ffxt3q% 5C% 22% 7D% 22% 7D). Si vous ne savez pas comment configurer une instance ECS, [ce tutoriel](https://www.alibabacloud.com/blog/3-ways-to-set-up-a-linux-server-on-alibaba-cloud_572384?spm = a2c65.11461447.0.0.44ec591fyZ0TTr) ou le Guide de démarrage rapide (https://www.alibabacloud.com/help/doc-detail/25422.htm?spm=a2c65.11461447.0.0.44ec591fyZ0TTr). L'instance ECS doit disposer d'au moins 2 Go de RAM et d'un processeur à 1 cœur.
  2. [Nom de domaine] enregistré sur Alibaba Cloud (https://www.alibabacloud.com/domain?spm=a2c65.11461447.0.0.44ec591fyZ0TTr). Si vous avez déjà enregistré votre domaine depuis Alibaba Cloud ou un autre hôte, vous pouvez mettre à jour son enregistrement de serveur de nom de domaine. 3, le nom de domaine doit pointer vers votre adresse IP Alibaba Cloud ECS.
  3. Accédez au client SSH installé sur la console ou le PC Alibaba Cloud VNC.
  4. Définissez le nom d'hôte du serveur et créez un utilisateur avec des privilèges root. 6, suivez ce tutoriel (https://www.alibabacloud.com/getting-started/projects/how-to-install-lamp-stack?spm=a2c65.11461447.0.0.44ec591fyZ0TTr), Apache, MySQL, Installez PHP.

Configuration du serveur ECS

Mettre à jour le système Ubuntu

Veuillez mettre à jour votre système Ubuntu à l'aide des commandes suivantes avant de procéder à l'installation du package. N'oubliez pas de vous connecter avec les privilèges sudo d'un utilisateur non root pour exécuter cette commande.

# sudo apt update && sudo apt upgrade

Installez add-apt-repository

Vous devez ajouter un référentiel pour installer Oracle JDK. Cependant, pour ajouter ce référentiel, vous devez installer add-apt-repository pour ajouter le référentiel au paquet apt. Pour ce faire, exécutez la commande suivante:

# sudo apt-get install -y software-properties-common

Installation de Java JDK

Vous devez maintenant configurer votre environnement Java JDK. SonarQube nécessite le JDK Oracle. Suivez les étapes ci-dessous pour installer Oracle JDK.

Étape 1: Exécutez la commande suivante pour ajouter le référentiel requis au référentiel apt.

# sudo add-apt-repository ppa:webupd8team/java

Étape 2: Exécutez la commande suivante pour mettre à jour le référentiel apt.

# sudo apt-get update

Étape 3: procédez à l'installation du JDK. Au moment de la rédaction de cet article, SonarQube ne prend en charge que JDK 8, alors n'oubliez pas de n'utiliser que cette version. N'utilisez aucune autre version pour le moment.

# sudo apt install oracle-java8-installer

décompressez l'installation

Vous devez installer unzip car vous devez décompresser le dossier zip compressé du SonarQube. Pour installer, exécutez la commande.

# sudo apt-get install unzip

Installez PostgreSQL

SonarQube prend en charge PostgreSQL, MySQL, MSSQL et Oracle. Pour ce tutoriel, MySQL n'est pas recommandé pour les grandes instances, nous allons donc utiliser PostgreSQL. Si vous utilisez MySQL, vous n'avez pas d'autre choix que d'utiliser le package mysql-connector-java. Le moteur InnoDB est requis pour MySQL. Pour éviter de telles restrictions, nous vous recommandons fortement d'utiliser PostgreSQL. Suivez les étapes ci-dessous pour installer PostgreSQL.

Étape 1: installer le dépôt 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 -

Étape 2: Installez le serveur PostgreSQL en exécutant la commande suivante

# sudo apt-get -y install postgresql postgresql-contrib

Étape 3: Démarrez le serveur PostgreSQL en exécutant la commande suivante afin qu'il puisse être démarré automatiquement après le redémarrage

# sudo systemctl start postgresql
# sudo systemctl enable postgresql

Créer un répertoire et définir les autorisations

Pour installer SonarQube pour une inspection continue de la qualité du code, procédez comme suit:

Étape 1: Créez un répertoire nommé sonar. Le nom du répertoire peut être tout ce que vous voulez, mais l'étape suivante de l'installation de SonarQube vous demandera de suivre votre propre chemin de répertoire.

# sudo mkdir /opt/sonar

Étape 2: Maintenant, accordez les autorisations au nom d'utilisateur dans le répertoire que vous avez créé afin de pouvoir apporter des modifications. Pour ce faire, exécutez la commande suivante. N'oubliez pas de remplacer aareez par votre nom d'utilisateur.

# sudo chown -R aareez:aareez /opt/sonar

Installez SonarQube

Maintenant que vous avez configuré votre serveur et installé votre base de données PostgreSQL, installons SonarQube. Suivez ces étapes pour télécharger et installer SonarQube.

Étape 1: accédez au répertoire / opt / sonar que vous avez créé pour SonarQube.

# cd /opt/sonar

Étape 2: Vous devez maintenant télécharger une copie de SonarQube à partir du site officiel. Pour ce faire, exécutez la commande suivante:

# sudo wget https://sonarsource.bintray.com/Distribution/sonarqube/sonarqube-7.2.1.zip 

Étape 3: Vous pouvez maintenant voir le dossier zip compressé par CLI en exécutant la commande.

# ls -li

image.png

Décompressez le dossier compressé et décompressez le fichier. Pour ce faire, exécutez la commande suivante:

# sudo unzip sonarqube-7.2.1.zip

Création et configuration de la base de données

Suivez les étapes ci-dessous pour créer et configurer la base de données.

Étape 1: modifiez le mot de passe de l'utilisateur postgres et passez à l'utilisateur postgres. Pour modifier le mot de passe, exécutez la commande suivante.

# sudo passwd postgres

Exécutez la commande suivante pour basculer vers l'utilisateur postgres.

# su - postgres

Étape 2: exécutez la commande suivante pour créer un nouvel utilisateur.

# createuser sqube

Étape 3: Ouvrez maintenant le shell Postgres pour exécuter la requête. Pour l'ouvrir, exécutez la commande.

# psql

Étape 4: exécutez la requête suivante. La première requête crée le mot de passe de l'utilisateur, la seconde requête crée la base de données, attribue des privilèges de base de données à l'utilisateur et la troisième met fin au serveur MySQL.

ALTER USER sqube WITH ENCRYPTED password '654321Ab'.
CREATE DATABASE sqube OWNER sqube.
\q

Étape 5: Exécutez la commande suivante pour revenir à l'utilisateur sudo.

# exit

Paramètres SonarQube

Pour démarrer avec SonarQube, vous devez définir certains paramètres de base tels que les paramètres de base de données et l'exécution en mode serveur.

Ouvrez le fichier sonar.properties, définissez le nom d'utilisateur et le mot de passe de la base de données et décrivez le pilote utilisé par SonarQube pour se connecter à la base de données. Exécutez la commande suivante pour ouvrir le fichier.

# cd /opt/sonar
# sudo nano sonarquebe-7.2.1/conf/sonar.properties

L'exécution de la commande ci-dessus ouvrira le document. La zone suivante s'affiche. Supprimez # du début des deux lignes et écrivez le nom d'utilisateur et le mot de passe MySQL que vous avez définis lors de la création de la base de données.

image.png

Trouvez la partie de sonar.jdbc.url ci-dessous et supprimez le # pour le décommenter. Cela obligera SonarQube à utiliser PostgreSQL, et Sonar devra être changé avec le nom de base de données sqube.

image.png

Trouvez sonar.web.host ici, décommentez cette ligne en supprimant le # et changez l'adresse IP en 127.0.0.0.1.

image.png

Trouvez sonar.web.javaAdditionalOpts ici, supprimez le #, décommentez la ligne et remplacez la valeur par -server.

image.png

Après avoir apporté des modifications, appuyez sur Ctrl + X, tapez Y et appuyez sur Entrée pour enregistrer vos paramètres.

Paramètres de proxy inverse SonarQube

SonarQube écoute par défaut sur le port 9000 de l'hôte local. Pour accéder via le port HTTP 80 standard, vous devez configurer un proxy inverse.

Suivez la procédure ci-dessous pour effectuer les réglages.

Étape 1: exécutez la commande pour activer le mode proxy.

# sudo a2enmod proxy
# sudo a2enmod proxy_http

Étape 2: passez à la configuration de l'hôte virtuel Procédez à la création d'un hôte virtuel en exécutant la commande suivante.

# sudo nano /etc/apache2/sites-available/softpedia.xyz.conf

Étape 3: Ajoutez le texte suivant au fichier ouvert, appuyez sur Ctrl + X, tapez Y et appuyez sur Entrée pour enregistrer le fichier.



ProxyRequests Off
ProxyPreserveHost On
<VirtualHost *:80>
    ServerName www.softpedia.xyz
    ServerAdmin [email protected]
    ProxyPreserveHost On
    ProxyPass / http://localhost:9000/
    ProxyPassReverse / http://www.softpedia.xyz/

</VirtualHost>

Étape 4: Vous devez activer l'hôte virtuel nouvellement créé, puis démarrer et activer le serveur Apache. Pour ce faire, exécutez la commande.

# sudo a2ensite softpedia.xyz.conf
# sudo systemctl start apache2
# sudo systemctl enable apache2

Étape 5: Ajoutez un utilisateur non root nommé sonar.

# sudo adduser sonar

Attribuez les autorisations utilisateur de Sonar au répertoire / opt / sonar.

# sudo chown -R sonar:sonar /opt/sonar

Ouvrez maintenant le fichier bash pour attribuer run_as_user.

# sudo nano /opt/sonar/sonarquebe-7.2.1/bin/linux-x86-64/sonar.sh

Recherchez RUN_AS_USER dans le fichier ouvert, supprimez le signe #, décommentez-le et ajoutez la valeur en tant que sondeur.

image.png

Pour démarrer SonarQube, exécutez la commande suivante.

# opt/sonar/sonarqube-7.2.1/bin/linux-x86-64/sonar.sh start

Pour démarrer SonarQube, exécutez la commande suivante.

# /opt/sonar/sonarqube-7.2.1/bin/linux-x86-64/sonar.sh stop

Désolé de vous avoir fait attendre. Ceci termine l'installation et la configuration de SonarQube. Accès facile en utilisant le nom de domaine. Dans mon cas, j'utilise www.softpedia.xyz.

image.png

Recommended Posts

Installez SonarQube sur l'instance ECS sur Ubuntu 16.04
Installez Ruby sur Ubuntu 20.04
Installez OpenJDK7 (JAVA) sur ubuntu 14.04
Installez Docker sur Ubuntu Server 20.04
Installez l'agent zabbix (5.0) sur Ubuntu 18.04
Installation du proxy MAV sur Ubuntu 18.04
Installez Java sur WSL Ubuntu 18.04
Installez Ubuntu Desktop 20.10 sur RaspberryPi4
Installez Ubuntu Server 20.04 sur Btrfs
Remarque: installez PostgreSQL 9.5 sur Ubuntu 18.04
Installez AWS IoT Greengrass sur Ubuntu
Installez JDK et JRE sur Ubuntu 16.10
Intégration continue sur les instances Ubuntu Alibaba Cloud ECS avec Jenkins
Comment installer WildFly sur Ubuntu 18.04
Installez ruby sur Ubuntu 20.04 avec rbenv
Installation sans tête d'Ubuntu 20.10 sur Raspberry Pi
Installez OpenJDK (Java) sur le dernier Ubuntu
Je souhaite installer PHP 7.2 sur Ubuntu 20.04.
Paramètres Wine sur Ubuntu 18.04 (installer l'éditeur WOLF RPG)
Installez NextCloud sur CentOS 7 avec Alibaba Cloud ECS
Construire et installer la version de développement Wireshark (3.3.1) sur Ubuntu
Comment installer les pilotes réseau sur Ubuntu autonome
Installez SonarQube sur Mac et testez l'analyse des sources
Comment installer plusieurs JDK sur Ubuntu 18.04 LTS
Installez plusieurs Javas et basculez entre eux sur Ubuntu
Installez la dernière version de Jenkins sur Ubuntu 16
Enregistrement d'écran sur Ubuntu 20.04
Bluetooth Web sur Ubuntu20.04
Installez Gradle sur Mac
Comment installer Ruby sur une instance EC2 d'AWS
Installez Corretto 8 sur Windows
Installez OpenJDK sur macOS
Essayez DisplayLink sur Ubuntu 20.04
Installez Java sur Mac
Installez Golang sur CentOS 8
Installez Neo4j 4.1.3 sur centOS
Installez Docker sur Manjaro
Comment installer le pilote NVIDIA sur la destination SSH Ubuntu
Installez Gradle sur ubuntu16.04
Installez PostgreSQL 12 sur Centos8
Installez lombok sur SpringToolSuite4
Installez kuromoji sur CentOS7
Définition de JAVA_HOME sur Ubuntu
Installez PostGIS 2.5.5 sur CentOS7