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
Sonardatenbank [SonarDB]: 8 Kerne, 16 GB RAM, 20 GB + 50 GB (/ opt) Speicherplatz
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 
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  
Ü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  
Ä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  
Datenverzeichnis ändern.
 $ 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  
Änderungsprüfung
 $ sudo -u postgres psql 
 
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 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:
 
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  
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: