DĂ©ployer le serveur SonarQube

Salut, habrozhiteli!


Dans ce guide, je veux définir une configuration étape par étape pour déployer une plate-forme d'analyse continue et de mesure de la qualité du code. Il existe de nombreux articles similaires sur le réseau, mais je veux souligner uniquement l'essentiel, afin que tous les nouveaux arrivants puissent y faire face la premiÚre fois. Nous SonarQube 7.9 avec PostgreSQL 10 .


Vous avez déjà appris le wiki, non?


Et avant de commencer


Je veux que vous dĂ©cidiez quelle version mettre en Ɠuvre, car Ă  chaque mise Ă  jour, de plus en plus de plugins sont payĂ©s, ce qui, bien sĂ»r, affectera les coĂ»ts financiers ou les fonctionnalitĂ©s.


En gĂ©nĂ©ral - suivez ce lien et voyez par vous-mĂȘme: matrice de version du plugin .


Selon la documentation: il est recommandé de conserver le serveur et la base de données sur différentes machines . Mais dans le bac à sable, vous pouvez également vous entraßner sur un.


Si vous avez Ubuntu et 2 serveurs


Si vous dĂ©cidez de suivre le chemin des recommandations et afin de ne pas vous embĂȘter avec la crĂ©ation de deux machines virtuelles, crĂ©ez-en une - vous pouvez changer le nom et l'ip du deuxiĂšme serveur facilement et simplement en utilisant ces commandes:


::: changer le nom d'hĂŽte :::


 $ hostnamectl set-hostname sonarapp sudo nano /etc/hostname sudo nano /etc/hosts 

::: changer l'ip ubuntu :::


 sudo nano /etc/netplan/01-eth0.yaml 

LĂ , recherchez les lignes familiĂšres et modifiez les paramĂštres du nom de la machine et de l'adresse IP.


Et ce qui devrait arriver :


Serveur d'application Sonar [SonarApp]: 8 cƓurs, 16 Go de RAM, 20 Go + 50 Go (/ opt) d'espace disque


utilisateurmot de passeIPPlateforme
administrateurpass123192.168.0.15Ubuntu linux

Base de donnĂ©es sonar [SonarDB]: 8 cƓurs, 16 Go de RAM, 20 Go + 50 Go (/ opt) d'espace disque


utilisateurmot de passeIPPlateforme
administrateurpass123192.168.0.16Debian Linux

1. Je suggÚre de commencer par une base de données


Connectez-vous sous notre bon administrateur sur 192.168.0.16 (SonarDB). Il est trÚs important de ne PAS exécuter en tant que root.


Assurez-vous que PostgreSQL est installé sur le systÚme. Il existe de nombreuses options, mais essayez la plus simple:


 $ which psql $ psql -V $ find / -name 'postgres' 

voir quels packages sont téléchargés sur le systÚme:


 $ dpkg -l | grep postgres 

Si rien n'a été trouvé, vérifiez si PostgreSQL 10 est dans les référentiels:


 $ sudo apt-cache search postgresql-10 

La documentation d'installation officielle de PostgreSQL: lien . Mais si dans l'ordre:


 $ wget -q https://www.postgresql.org/media/keys/ACCC4CF8.asc -O- | sudo apt-key add - $ sudo sh -c 'echo "deb http://apt.postgresql.org/pub/repos/apt $(lsb_release -cs)-pgdg main" > /etc/apt/sources.list.d/postgresql.list' $ sudo apt-get update $ sudo apt-get install postgresql-10 pgadmin4 

  • J'ai eu des problĂšmes avec les paramĂštres rĂ©gionaux aprĂšs avoir ajoutĂ© des postgres au systĂšme. MĂ©thode de la solution (solution dans /etc/default/locale ):
     $ sudo locale-gen en_US.UTF-8 $ sudo localedef -i en_US -f UTF-8 en_US.UTF-8 $ export LANGUAGE=en_US.UTF-8 $ export LANG=en_US.UTF-8 $ export LC_ALL=en_US.UTF-8 $ sudo locale-gen en_US.UTF-8 $ sudo dpkg-reconfigure locales 

La commande dpkg-reconfigure locales ouvrira une boßte de dialogue sous Debian pour sélectionner les paramÚtres régionaux souhaités. Choisissez en_US.UTF-8 .


Lancez!


 $ sudo systemctl start postgresql $ sudo systemctl status postgresql $ sudo nano /etc/postgresql/10/main/postgresql.conf ### CTRL + W ### -> listen_addresses = '*' $ sudo systemctl restart postgresql 

Vérifiez si l'installation a réussi:


 $ sudo apt-get install -y net-tools $ sudo netstat -antup | grep 5432 $ dpkg --get-selections |grep postgres $ pg_lsclusters 

FĂ©licitations! Continuez. :)


 sudo su -l postgres psql ### CTRL + Z ### -> exit from psql ### exit ### 

Modifier le mot de passe de l'utilisateur PostgreSQL par défaut


 $ sudo passwd postgres 

Passez Ă  l'utilisateur postgres.


 $ su - postgres 

Basculez vers le shell PostgreSQL.


 $ psql 

Configuration de base de PostgreSQL


Définissez un mot de passe pour l'utilisateur nouvellement créé pour la base de données SonarQube.


 CREATE ROLE sonar WITH PASSWORD 'sonar'; SELECT rolname FROM pg_roles; alter role sonar login; SELECT pg_reload_conf(); Create a new database for PostgreSQL database by running: create database sonar owner sonar; 

Quittez le shell psql:


 '\q' 

Migration de base de données PostgreSQL


ArrĂȘter le service PostgreSQL


 $ service postgresql stop # or $ /usr/lib/postgresql/10/bin/pg_ctl stop -D /var/lib/postgresql/10/main 

Changer le répertoire de données.


 $ psql 

 # show data_directory; /var/lib/postgresql/10/main 

 $ sudo rsync -av /var/lib/postgresql /opt/sonardb $ sudo mv /var/lib/postgresql/*/main /var/lib/postgresql/*/main.bak $ sudo nano /etc/postgresql/*/main/postgresql.conf # change location for new data_directory. data_directory = '/opt/sonardb/postgresql/10/main' listen_addresses = '*' 

Modifier la vérification


 $ sudo -u postgres psql 

 # show data_directory; ______________________ /opt/sonardb/postgresql/10/main # \q 

Et Ă©galement besoin de vĂ©rifier les paramĂštres du systĂšme. Ils peuvent ĂȘtre ajoutĂ©s au fichier /etc/sysctl.conf (ou /etc/sysctl.d/99-sonarqube.conf ) ou saisis dans le terminal:


 sysctl -w vm.max_map_count=262144 sysctl -w fs.file-max=65536 ulimit -n 65536 ulimit -u 4096 

2. Et maintenant, nous serons engagés dans le serveur d'applications SonarQube


Connectez-vous sous notre bon administrateur sur 192.168.0.15 (SonarApp). Il est Ă©galement important qu'il ne soit PAS root.


Les lignes qui commencent par le caractĂšre $ sont des entrĂ©es de terminal, et le reste est ce que nous Ă©diterons dans les fichiers ou ce qui devrait ĂȘtre reçu sur la sortie (sortie d'informations)


SonarQube nécessite JAVA pour fonctionner. Prenez OpenJDK


Installer open-jdk11


 $ sudo apt-get install openjdk-11-jdk 

changer le chemin java


 $ nano ~/.bash_profile export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64/bin/java export PATH=/usr/lib/jvm/java-11-openjdk-amd64/bin:$PATH 

Vérifiez que JAVA a bien été ajouté au systÚme :


 $ java -version 

Téléchargez et configurez SonarQube


Téléchargez l'archive des fichiers du programme d'installation de SonarQube.


 $ wget https://binaries.sonarsource.com/Distribution/sonarqube/sonarqube-7.9.1.zip 

Installez décompressez en exécutant:


 # apt-get -y install unzip 

DĂ©compressez l'archive Ă  l'aide de la commande suivante


 $ sudo unzip sonarqube-7.9.1.zip -d /opt 

Renommer le répertoire


 $ sudo mv /opt/sonarqube-7.9.1 /opt/sonarqube 

Ajouter un utilisateur et des privilĂšges Sonar


En savoir plus sur la gestion des utilisateurs sous Unix .


Créez un utilisateur nommé sonar et faites-en le propriétaire du /opt/sonarqubedirectory


 $ sudo adduser sonar $ sudo passwd sonar $ sudo chown -R sonar:sonar /opt/sonarqube 

obtenir les utilisateurs de la liste dans le systĂšme:


 $ cut -d: -f1 /etc/passwd 

Dans quels groupes se trouve votre nouvel utilisateur:


 $ groups sonar 

Continuation configurer SonarQube


 $ sudo nano /opt/sonarqube/conf/sonar.properties 

 sonar.jdbc.username=sonar sonar.jdbc.password=sonar sonar.web.host=192.168.0.15 # sonar.jdbc.url=jdbc:postgresql://localhost/username sonar.jdbc.url=jdbc:postgresql://192.168.0.16/sonar sonar.web.javaAdditionalOpts=-server 

Créez un fichier /etc/systemd/system/sonarqube.service et /etc/systemd/system/sonarqube.service le contenu suivant dans le fichier


 [Unit] Description=SonarQube service After=syslog.target network.target [Service] Type=simple User=sonar Group=sonar PermissionsStartOnly=true ExecStart=/bin/nohup java -Xms32m -Xmx32m -Djava.net.preferIPv4Stack=true -jar /opt/sonarqube/lib/sonar-application-7.9.1.jar StandardOutput=syslog LimitNOFILE=65536 LimitNPROC=8192 TimeoutStartSec=5 Restart=always [Install] WantedBy=multi-user.target 

DĂ©marrer et activer sonarqube


 $ sudo systemctl start sonarqube $ sudo systemctl enable sonarqube 

Pour vérifier si le service est en cours d'exécution, exécutez:


 $ sudo systemctl status sonarqube 

Journal:


 tail -f /opt/sonarqube/logs/sonar.log 



Pour vérifier la disponibilité de la base de données, connectez-vous à 192.168.0.15 et tapez:


 $ psql -h 192.168.0.16 -p 5432 -U sonar 

C’est tout. Pour vous assurer que tout fonctionne, allez dans le navigateur (assurez-vous que le rĂ©seau 192.168.XX est accessible Ă  partir du vĂŽtre ou utilisez des liens).


Nous composerons le 192.168.0.15:9000 et vous devriez ĂȘtre accueilli par la fenĂȘtre d'autorisation.


Données utilisateur de l'administrateur principal standard de SonarQube:


utilisateurmot de passe
administrateuradministrateur

Source: https://habr.com/ru/post/fr474140/


All Articles