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
Base de donnĂ©es sonar [SonarDB]: 8 cĆurs, 16 Go de RAM, 20 Go + 50 Go (/ opt) d'espace disque
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
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
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
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
Changer le répertoire de données.
$ psql
$ 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
Modifier la vérification
$ sudo -u postgres psql
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 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:
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
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: