Sådan installeres SonarQube på CentOS 7

SonarQube er et open source-værktøj til udvikling af kvalitetssystemer. Det er skrevet i Java og understøtter flere databaser. Det giver mulighed for løbende at inspicere kode, vise en applikations tilstand og fremhæve nyligt introducerede problemer. Den indeholder kodeanalysatorer, som er udstyret til at opdage vanskelige problemer. Det integreres også nemt med DevOps.

I denne vejledning installerer vi den seneste version af SonarQube på CentOS 7.

Bemærk: Dette dokument er blevet opdateret siden dets oprindelige udgivelse. Se afsnittet "Errata" i fodnoterne.

Forudsætninger

  • En Vultr 64-bit CentOS 7 serverinstans med mindst 2 GB RAM.
  • En sudo-bruger .

Trin 1: Udfør en systemopdatering

Før du installerer pakker på CentOS-serverinstansen, anbefales det at opdatere systemet. Log ind med sudo-brugeren og kør følgende kommandoer for at opdatere systemet.

sudo yum -y install epel-release
sudo yum -y update
sudo shutdown -r now

Når systemet er færdig med at genstarte, skal du logge ind igen som sudo-bruger og fortsætte til næste trin.

Trin 2: Installer Java

Download Oracle SE JDK RPM-pakken ved at skrive:

wget --no-cookies --no-check-certificate --header "Cookie:oraclelicense=accept-securebackup-cookie" "http://download.oracle.com/otn-pub/java/jdk/8u131-b11/d54c1d3a095b4ff2b6607d096fa80163/jdk-8u131-linux-x64.rpm"

Installer den downloadede pakke ved at skrive:

sudo yum -y localinstall jdk-8u131-linux-x64.rpm

Du kan nu tjekke versionen af ​​Java ved at skrive:

java -version

Trin 3: Installer og konfigurer PostgreSQL

Installer PostgreSQL-lageret ved at skrive:

sudo rpm -Uvh https://download.postgresql.org/pub/repos/yum/9.6/redhat/rhel-7-x86_64/pgdg-centos96-9.6-3.noarch.rpm

Installer PostgreSQL databaseserver ved at køre:

sudo yum -y install postgresql96-server postgresql96-contrib

Initialiser databasen:

sudo /usr/pgsql-9.6/bin/postgresql96-setup initdb

Rediger for /var/lib/pgsql/9.6/data/pg_hba.confat aktivere MD5-baseret godkendelse.

sudo nano /var/lib/pgsql/9.6/data/pg_hba.conf

Find følgende linjer og skift peertil trustog idnettil md5.

# TYPE  DATABASE        USER            ADDRESS                 METHOD

# "local" is for Unix domain socket connections only
local   all             all                                     peer
# IPv4 local connections:
host    all             all             127.0.0.1/32            ident
# IPv6 local connections:
host    all             all             ::1/128                 ident

Når den er opdateret, skal konfigurationen se ud som den, der er vist nedenfor.

# TYPE  DATABASE        USER            ADDRESS                 METHOD

# "local" is for Unix domain socket connections only
local   all             all                                     trust
# IPv4 local connections:
host    all             all             127.0.0.1/32            md5
# IPv6 local connections:
host    all             all             ::1/128                 md5

Start PostgreSQL-serveren og aktiver den til at starte automatisk ved opstart ved at køre:

sudo systemctl start postgresql-9.6
sudo systemctl enable postgresql-9.6

Skift adgangskoden til standard PostgreSQL-brugeren.

sudo passwd postgres

Skift til postgresbrugeren.

su - postgres

Opret en ny bruger ved at skrive:

createuser sonar

Skift til PostgreSQL-skallen.

psql

Indstil en adgangskode til den nyoprettede bruger til SonarQube-databasen.

ALTER USER sonar WITH ENCRYPTED password 'StrongPassword';

Opret en ny database til PostgreSQL-database ved at køre:

CREATE DATABASE sonar OWNER sonar;

Udgang fra psqlskallen:

\q

Skift tilbage til sudo-brugeren ved at køre exitkommandoen.

Trin 4: Download og konfigurer SonarQube

Download SonarQube-installationsfilarkivet.

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

Du kan altid kigge efter linket til den seneste version af applikationen på SonarQube- downloadsiden .

Installer unzip ved at køre:

sudo yum -y install unzip

Udpak arkivet ved hjælp af følgende kommando.

sudo unzip sonarqube-6.4.zip -d /opt

Omdøb mappen:

sudo mv /opt/sonarqube-6.4 /opt/sonarqube

Åbn SonarQube-konfigurationsfilen ved hjælp af din foretrukne teksteditor.

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

Find følgende linjer.

#sonar.jdbc.username=
#sonar.jdbc.password=

Fjern kommentarer og angiv PostgreSQL-brugernavnet og adgangskoden til databasen, som vi har oprettet tidligere. Det skal se sådan ud:

sonar.jdbc.username=sonar
sonar.jdbc.password=StrongPassword

Find derefter:

#sonar.jdbc.url=jdbc:postgresql://localhost/sonar

Fjern kommentarer til linjen, gem filen og afslut editoren.

Trin 5: Konfigurer Systemd-tjenesten

SonarQube kan startes direkte ved hjælp af opstartsscriptet i installationspakken. For nemheds skyld bør du konfigurere en Systemd-enhedsfil til SonarQube.

sudo nano /etc/systemd/system/sonar.service

Udfyld filen med:

[Unit]
Description=SonarQube service
After=syslog.target network.target

[Service]
Type=forking

ExecStart=/opt/sonarqube/bin/linux-x86-64/sonar.sh start
ExecStop=/opt/sonarqube/bin/linux-x86-64/sonar.sh stop

User=root
Group=root
Restart=always

[Install]
WantedBy=multi-user.target

Start applikationen ved at køre:

sudo systemctl start sonar

Aktiver SonarQube-tjenesten til automatisk at starte ved opstart.

sudo systemctl enable sonar

For at kontrollere, om tjenesten kører, skal du køre:

sudo systemctl status sonar

Trin 5: Konfigurer omvendt proxy

Som standard lytter SonarQube til localhost på port 9000. I denne vejledning vil vi bruge Apache som omvendt proxy, så applikationen kan tilgås via standard HTTP-porten. Installer Apache-webserveren ved at køre:

sudo yum -y install httpd

Opret en ny virtuel vært.

sudo nano /etc/httpd/conf.d/sonar.yourdomain.com.conf

Udfyld filen med:

<VirtualHost *:80>  
    ServerName sonar.yourdomain.com
    ServerAdmin me@yourdomain.com
    ProxyPreserveHost On
    ProxyPass / http://localhost:9000/
    ProxyPassReverse / http://localhost:9000/
    TransferLog /var/log/httpd/sonar.yourdomain.com_access.log
    ErrorLog /var/log/httpd/sonar.yourdomain.com_error.log
</VirtualHost>

Start Apache og aktiver den til at starte automatisk ved opstart:

sudo systemctl start httpd
sudo systemctl enable httpd

Trin 6: Konfigurer firewall

Tillad den nødvendige HTTP-port gennem systemets firewall.

sudo firewall-cmd --add-service=http --permanent
sudo firewall-cmd --reload

Start SonarQube-tjenesten:

sudo systemctl start sonar

Du skal også deaktivere SELinux:

sudo setenforce 0

SonarQube er installeret på din server, få adgang til dashboardet på følgende adresse.

http://sonar.yourdomain.com

Log ind med den oprindelige administratorkonto, adminog admin. Du kan nu bruge SonarQube til løbende at analysere den kode, du har skrevet.


Errata

Hvis du installerer SonarQube 7.1 (eller nyere), skal du foretage ændringerne nedenfor, fordi nyere versioner af Elasticsearch ikke kan køres som root-bruger.

  • Opdater tilladelser: chown -R sonar:sonar /opt/sonarqube
  • Rediger /opt/sonarqube/bin/linux-x86-64/sonar.sh, skift #RUNAStil at være " sonar".
  • Rediger /etc/systemd/system/sonar.service, skift brugergruppen til at være " sonar".

Efterlad en kommentar

The Rise of Machines: Real World Applications of AI

The Rise of Machines: Real World Applications of AI

Kunstig intelligens er ikke i fremtiden, det er her lige i nuet I denne blog Læs, hvordan kunstig intelligens-applikationer har påvirket forskellige sektorer.

DDOS-angreb: et kort overblik

DDOS-angreb: et kort overblik

Er du også et offer for DDOS-angreb og forvirret over forebyggelsesmetoderne? Læs denne artikel for at løse dine spørgsmål.

Har du nogensinde spekuleret på, hvordan tjener hackere penge?

Har du nogensinde spekuleret på, hvordan tjener hackere penge?

Du har måske hørt, at hackere tjener mange penge, men har du nogensinde spekuleret på, hvordan tjener de den slags penge? lad os diskutere.

Revolutionære opfindelser fra Google, der vil gøre dit liv lettere.

Revolutionære opfindelser fra Google, der vil gøre dit liv lettere.

Vil du se revolutionerende opfindelser fra Google, og hvordan disse opfindelser ændrede livet for ethvert menneske i dag? Læs derefter til bloggen for at se opfindelser fra Google.

Fredag ​​Essential: Hvad skete der med AI-drevne biler?

Fredag ​​Essential: Hvad skete der med AI-drevne biler?

Konceptet med selvkørende biler til at køre på vejene ved hjælp af kunstig intelligens er en drøm, vi har haft i et stykke tid nu. Men på trods af flere løfter er de ingen steder at se. Læs denne blog for at lære mere...

Teknologisk singularitet: En fjern fremtid for menneskelig civilisation?

Teknologisk singularitet: En fjern fremtid for menneskelig civilisation?

Efterhånden som videnskaben udvikler sig i et hurtigt tempo og overtager en stor del af vores indsats, stiger risikoen for at udsætte os selv for en uforklarlig Singularitet. Læs, hvad singularitet kunne betyde for os.

Funktioner af Big Data Reference Architecture Layers

Funktioner af Big Data Reference Architecture Layers

Læs bloggen for at kende forskellige lag i Big Data-arkitekturen og deres funktionaliteter på den enkleste måde.

Udvikling af datalagring – Infografik

Udvikling af datalagring – Infografik

Opbevaringsmetoderne for dataene har været under udvikling, kan være siden fødslen af ​​dataene. Denne blog dækker udviklingen af ​​datalagring på basis af en infografik.

6 fantastiske fordele ved at have smarte hjemmeenheder i vores liv

6 fantastiske fordele ved at have smarte hjemmeenheder i vores liv

I denne digitalt drevne verden er smarte hjemmeenheder blevet en afgørende del af livet. Her er et par fantastiske fordele ved smarte hjemmeenheder om, hvordan de gør vores liv værd at leve og enklere.

macOS Catalina 10.15.4-tillægsopdatering forårsager flere problemer end at løse

macOS Catalina 10.15.4-tillægsopdatering forårsager flere problemer end at løse

For nylig udgav Apple macOS Catalina 10.15.4 en supplerende opdatering for at løse problemer, men det ser ud til, at opdateringen forårsager flere problemer, hvilket fører til mursten af ​​mac-maskiner. Læs denne artikel for at lære mere