Hur man installerar SonarQube på CentOS 7

SonarQube är ett verktyg med öppen källkod för utveckling av kvalitetssystem. Det är skrivet i Java och stöder flera databaser. Det ger möjligheter att kontinuerligt inspektera kod, visa tillståndet för en applikation och lyfta fram nyligen introducerade problem. Den innehåller kodanalysatorer som är utrustade för att upptäcka knepiga problem. Det integreras också enkelt med DevOps.

I den här handledningen kommer vi att installera den senaste versionen av SonarQube på CentOS 7.

Obs: Detta dokument har uppdaterats sedan det ursprungligen publicerades. Se avsnittet "Errata" i fotnoterna.

Förutsättningar

  • En Vultr 64-bitars CentOS 7-serverinstans med minst 2 GB RAM.
  • En sudo-användare .

Steg 1: Utför en systemuppdatering

Innan du installerar några paket på CentOS-serverinstansen rekommenderar vi att du uppdaterar systemet. Logga in med sudo-användaren och kör följande kommandon för att uppdatera systemet.

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

När systemet har startat om, logga in igen som sudo-användare och fortsätt till nästa steg.

Steg 2: Installera Java

Ladda ner Oracle SE JDK RPM-paketet genom att skriva:

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"

Installera det nedladdade paketet genom att skriva:

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

Du kan nu kontrollera versionen av Java genom att skriva:

java -version

Steg 3: Installera och konfigurera PostgreSQL

Installera PostgreSQL-förvaret genom att skriva:

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

Installera PostgreSQL databasserver genom att köra:

sudo yum -y install postgresql96-server postgresql96-contrib

Initiera databasen:

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

Redigera för /var/lib/pgsql/9.6/data/pg_hba.confatt aktivera MD5-baserad autentisering.

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

Hitta följande rader och ändra peertill trustoch idnettill 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 väl har uppdaterats bör konfigurationen se ut som den som visas nedan.

# 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

Starta PostgreSQL-servern och låt den starta automatiskt vid uppstart genom att köra:

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

Ändra lösenordet för standardpostgreSQL-användaren.

sudo passwd postgres

Växla till postgresanvändaren.

su - postgres

Skapa en ny användare genom att skriva:

createuser sonar

Byt till PostgreSQL-skalet.

psql

Ställ in ett lösenord för den nyskapade användaren för SonarQube-databasen.

ALTER USER sonar WITH ENCRYPTED password 'StrongPassword';

Skapa en ny databas för PostgreSQL-databas genom att köra:

CREATE DATABASE sonar OWNER sonar;

Utgång från psqlskalet:

\q

Växla tillbaka till sudo-användaren genom att köra exitkommandot.

Steg 4: Ladda ner och konfigurera SonarQube

Ladda ner SonarQube installationsfilarkiv.

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

Du kan alltid leta efter länken till den senaste versionen av programmet på SonarQubes nedladdningssida .

Installera unzip genom att köra:

sudo yum -y install unzip

Packa upp arkivet med följande kommando.

sudo unzip sonarqube-6.4.zip -d /opt

Byt namn på katalogen:

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

Öppna SonarQube-konfigurationsfilen med din favorittextredigerare.

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

Hitta följande rader.

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

Avkommentera och ange PostgreSQL-användarnamnet och lösenordet för databasen som vi har skapat tidigare. Det ska se ut så här:

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

Hitta sedan:

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

Avkommentera raden, spara filen och avsluta redigeraren.

Steg 5: Konfigurera Systemd-tjänsten

SonarQube kan startas direkt med hjälp av startskriptet som finns i installationspaketet. För enkelhets skull bör du konfigurera en Systemd-enhetsfil för SonarQube.

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

Fyll 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

Starta programmet genom att köra:

sudo systemctl start sonar

Aktivera SonarQube-tjänsten att starta automatiskt vid uppstart.

sudo systemctl enable sonar

För att kontrollera om tjänsten körs, kör:

sudo systemctl status sonar

Steg 5: Konfigurera omvänd proxy

Som standard lyssnar SonarQube på localhost på port 9000. I denna handledning kommer vi att använda Apache som omvänd proxy så att applikationen kan nås via standard HTTP-porten. Installera Apache-webbservern genom att köra:

sudo yum -y install httpd

Skapa en ny virtuell värd.

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

Fyll 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>

Starta Apache och låt den starta automatiskt vid uppstart:

sudo systemctl start httpd
sudo systemctl enable httpd

Steg 6: Konfigurera brandväggen

Tillåt den nödvändiga HTTP-porten genom systemets brandvägg.

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

Starta SonarQube-tjänsten:

sudo systemctl start sonar

Du måste också inaktivera SELinux:

sudo setenforce 0

SonarQube är installerat på din server, gå till instrumentpanelen på följande adress.

http://sonar.yourdomain.com

Logga in med det ursprungliga administratörskontot adminoch admin. Du kan nu använda SonarQube för att kontinuerligt analysera koden du har skrivit.


Errata

Om du installerar SonarQube 7.1 (eller nyare), gör ändringarna nedan eftersom nyare versioner av Elasticsearch inte kan köras som root-användare.

  • Uppdatera behörigheter: chown -R sonar:sonar /opt/sonarqube
  • Ändra /opt/sonarqube/bin/linux-x86-64/sonar.sh, ändra #RUNAStill " sonar".
  • Ändra /etc/systemd/system/sonar.service, ändra användargruppen till " sonar".

Lämna en kommentar

The Rise of Machines: Real World Applications of AI

The Rise of Machines: Real World Applications of AI

Artificiell intelligens är inte i framtiden, det är här i nuet I den här bloggen Läs hur Artificiell intelligens-applikationer har påverkat olika sektorer.

DDOS-attacker: En kort översikt

DDOS-attacker: En kort översikt

Är du också ett offer för DDOS-attacker och förvirrad över de förebyggande metoderna? Läs den här artikeln för att lösa dina frågor.

Har du någonsin undrat hur hackare tjänar pengar?

Har du någonsin undrat hur hackare tjänar pengar?

Du kanske har hört att hackare tjänar mycket pengar, men har du någonsin undrat hur de tjänar den typen av pengar? låt oss diskutera.

Revolutionerande uppfinningar från Google som gör ditt liv lätt.

Revolutionerande uppfinningar från Google som gör ditt liv lätt.

Vill du se revolutionerande uppfinningar av Google och hur dessa uppfinningar förändrade livet för varje människa idag? Läs sedan till bloggen för att se uppfinningar av Google.

Fredag ​​Essential: Vad hände med AI-drivna bilar?

Fredag ​​Essential: Vad hände med AI-drivna bilar?

Konceptet med att självkörande bilar ska ut på vägarna med hjälp av artificiell intelligens är en dröm vi har ett tag nu. Men trots flera löften finns de ingenstans att se. Läs den här bloggen för att lära dig mer...

Technological Singularity: A Distant Future of Human Civilization?

Technological Singularity: A Distant Future of Human Civilization?

När vetenskapen utvecklas i snabb takt och tar över en hel del av våra ansträngningar, ökar också riskerna för att utsätta oss för en oförklarlig singularitet. Läs, vad singularitet kan betyda för oss.

Funktioner för Big Data Reference Architecture Layers

Funktioner för Big Data Reference Architecture Layers

Läs bloggen för att känna till olika lager i Big Data Architecture och deras funktionaliteter på enklaste sätt.

Utveckling av datalagring – Infographic

Utveckling av datalagring – Infographic

Lagringsmetoderna för data har utvecklats kan vara sedan födelsen av data. Den här bloggen tar upp utvecklingen av datalagring på basis av en infografik.

6 fantastiska fördelar med att ha smarta hemenheter i våra liv

6 fantastiska fördelar med att ha smarta hemenheter i våra liv

I denna digitala värld har smarta hemenheter blivit en avgörande del av livet. Här är några fantastiska fördelar med smarta hemenheter om hur de gör vårt liv värt att leva och enklare.

macOS Catalina 10.15.4 tilläggsuppdatering orsakar fler problem än att lösa

macOS Catalina 10.15.4 tilläggsuppdatering orsakar fler problem än att lösa

Nyligen släppte Apple macOS Catalina 10.15.4, en tilläggsuppdatering för att åtgärda problem, men det verkar som om uppdateringen orsakar fler problem som leder till att mac-datorer blir murade. Läs den här artikeln för att lära dig mer