Stellen Sie SonarQube Server bereit

Hallo habrozhiteli!


In diesem Handbuch möchte ich eine schrittweise Einrichtung für die Bereitstellung einer Plattform für die kontinuierliche Analyse und Messung der Codequalität beschreiben. Es gibt viele ähnliche Artikel im Netzwerk, aber ich möchte nur die Hauptsache hervorheben, damit alle Neulinge sich beim ersten Mal damit befassen können. Wir werden SonarQube 7.9 mit PostgreSQL 10 SonarQube 7.9 .


Du hast das Wiki schon gelernt, oder?


Und bevor wir anfangen


Ich möchte, dass Sie entscheiden, welche Version implementiert werden soll, da mit jedem Update immer mehr Plugins bezahlt werden, was sich natürlich auf die finanziellen Kosten oder die Funktionalität auswirkt.


Im Allgemeinen - folgen Sie diesem Link und überzeugen Sie sich selbst: Plugin-Versionsmatrix .


Gemäß der Dokumentation: Es wird empfohlen, den Server und die Datenbank auf verschiedenen Computern zu halten . Im Sandkasten kann man aber auch mit einem trainieren.


Wenn Sie Ubuntu und 2 Server haben


Wenn Sie sich für den Pfad der Empfehlungen entscheiden und nicht zwei virtuelle Maschinen erstellen möchten, erstellen Sie eine - Sie können den Namen und die IP-Adresse des zweiten Servers einfach und einfach mit den folgenden Befehlen ändern:


::: Hostnamen ändern :::


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

::: IP-Ubuntu ändern :::


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

Suchen Sie dort die bekannten Zeilen und ändern Sie die Parameter des Computernamens und der IP-Adresse.


Und was soll passieren :


Sonar-App-Server [SonarApp]: 8 Kerne, 16 GB RAM, 20 GB + 50 GB (/ opt) Speicherplatz


benutzerPasswortIPPlattform
adminpass123192.168.0.15Ubuntu Linux

Sonardatenbank [SonarDB]: 8 Kerne, 16 GB RAM, 20 GB + 50 GB (/ opt) Speicherplatz


benutzerPasswortIPPlattform
adminpass123192.168.0.16Debian Linux

1. Ich schlage vor, mit einer Datenbank zu beginnen


Melden Sie sich unter unserem guten Administrator am 192.168.0.16 (SonarDB) an. Es ist sehr wichtig, dass Sie NICHT als Root ausgeführt werden.


Stellen Sie sicher, dass PostgreSQL auf dem System installiert ist. Es gibt viele Möglichkeiten, aber versuchen Sie die einfachste:


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

Sehen Sie, welche Pakete auf das System heruntergeladen werden:


 $ dpkg -l | grep postgres 

Wenn nichts gefunden wurde, überprüfen Sie, ob sich PostgreSQL 10 in den Repositorys befindet:


 $ sudo apt-cache search postgresql-10 

Die offizielle PostgreSQL-Installationsdokumentation: Link . Aber wenn in Ordnung:


 $ 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 

  • Ich hatte Probleme mit dem Gebietsschema, nachdem ich dem System Postgres hinzugefügt hatte. Lösungsmethode (Lösung in /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 

Der Befehl dpkg-recfigure locales öffnet ein Dialogfeld unter Debian, in dem Sie das gewünschte Gebietsschema auswählen können. Wählen Sie en_US.UTF-8 .


Starten Sie!


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

Überprüfen Sie, ob die Installation erfolgreich ist:


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

Herzliche Glückwünsche! Fahren Sie fort. :)


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

Ändern Sie das Kennwort für den Standardbenutzer von PostgreSQL


 $ sudo passwd postgres 

Wechseln Sie zum Benutzer postgres.


 $ su - postgres 

Wechseln Sie zur PostgreSQL-Shell.


 $ psql 

PostgreSQL-Grundkonfiguration


Legen Sie ein Kennwort für den neu erstellten Benutzer für die SonarQube-Datenbank fest.


 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; 

Beenden Sie die psql-Shell:


 '\q' 

PostgreSQL-Datenbankmigration


Beenden Sie den PostgreSQL-Dienst


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

Datenverzeichnis ändern.


 $ 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 = '*' 

Änderungsprüfung


 $ sudo -u postgres psql 

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

Und müssen auch Systemparameter überprüfen. Sie können der Datei /etc/sysctl.conf (oder /etc/sysctl.d/99-sonarqube.conf ) /etc/sysctl.d/99-sonarqube.conf oder im Terminal eingegeben werden:


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

2. Und jetzt beschäftigen wir uns mit dem SonarQube-Anwendungsserver


Melden Sie sich unter unserem guten Administrator am 192.168.0.15 (SonarApp) an. Es ist auch wichtig, dass es NICHT root ist.


Die Zeilen, die mit dem Zeichen $ beginnen, sind Terminaleingaben. Der Rest wird in den Dateien bearbeitet oder in der Ausgabe empfangen (Informationsausgabe).


Für SonarQube muss JAVA funktionieren. Nimm OpenJDK


Installieren Sie open-jdk11


 $ sudo apt-get install openjdk-11-jdk 

Java-Pfad ändern


 $ 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 

Stellen Sie sicher, dass JAVA erfolgreich zum System hinzugefügt wurde :


 $ java -version 

Laden Sie SonarQube herunter und konfigurieren Sie es


Laden Sie das Archiv der SonarQube-Installationsdateien herunter.


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

Installieren Sie unzip, indem Sie Folgendes ausführen:


 # apt-get -y install unzip 

Entpacken Sie das Archiv mit dem folgenden Befehl


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

Benennen Sie das Verzeichnis um


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

Fügen Sie Sonarbenutzer und Berechtigungen hinzu


Weitere Informationen zur Benutzerverwaltung unter Unix .


Erstellen Sie einen Benutzer mit dem Namen sonar und machen Sie ihn zum Eigentümer des /opt/sonarqubedirectory


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

Listenbenutzer im System abrufen:


 $ cut -d: -f1 /etc/passwd 

In welchen Gruppen ist Ihr neuer Benutzer:


 $ groups sonar 

Fortsetzung Konfigurieren Sie 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 

Erstellen Sie eine Datei /etc/systemd/system/sonarqube.service und /etc/systemd/system/sonarqube.service den folgenden Inhalt in die Datei ein


 [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 

Starten und aktivieren Sie Sonarqube


 $ sudo systemctl start sonarqube $ sudo systemctl enable sonarqube 

Führen Sie Folgendes aus, um zu überprüfen, ob der Dienst ausgeführt wird:


 $ sudo systemctl status sonarqube 

Protokoll:


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



Um die Verfügbarkeit der Datenbank zu überprüfen, stellen Sie eine Verbindung zu 192.168.0.15 her und geben Sie Folgendes ein:


 $ psql -h 192.168.0.16 -p 5432 -U sonar 

Das ist alles. Um sicherzustellen, dass alles funktioniert, rufen Sie den Browser auf (stellen Sie sicher, dass das 192.168.XX-Netzwerk über Ihr Netzwerk erreichbar ist, oder verwenden Sie Links).


Wir werden 192.168.0.15:9000 wählen und Sie sollten vom Autorisierungsfenster begrüßt werden.


SonarQube Standard Primary Admin-Benutzerdaten:


benutzerPasswort
adminadmin

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


All Articles