Preduvjeti
Korak 1: Izvršite ažuriranje sustava
Korak 2: Instalirajte Javu
Korak 3: Instalirajte i konfigurirajte PostgreSQL
Korak 4: Preuzmite i konfigurirajte SonarQube
Korak 5: Konfigurirajte Systemd uslugu
Korak 5: Konfigurirajte obrnuti proxy
Korak 6: Konfigurirajte vatrozid
Greška
SonarQube je alat otvorenog koda za razvoj sustava kvalitete. Napisan je na Javi i podržava više baza podataka. Pruža mogućnosti za kontinuirano provjeravanje koda, prikazivanje zdravlja aplikacije i isticanje novouvedenih problema. Sadrži analizatore koda koji su opremljeni za otkrivanje lukavih problema. Također se lako integrira s DevOps-om.
U ovom vodiču instalirat ćemo najnoviju verziju SonarQubea na CentOS 7.
Napomena: Ovaj je dokument ažuriran od svoje izvorne objave. Vidi odjeljak "Errata" u fusnotama.
Preduvjeti
- Vultr 64-bitni poslužitelj CentOS 7 s najmanje 2 GB RAM-a.
- Korisnik sudoa .
Prije instaliranja bilo kojeg paketa na instancu poslužitelja CentOS, preporučuje se ažuriranje sustava. Prijavite se pomoću sudo korisnika i pokrenite sljedeće naredbe za ažuriranje sustava.
sudo yum -y install epel-release
sudo yum -y update
sudo shutdown -r now
Nakon što se sustav završi s ponovnim pokretanjem, ponovno se prijavite kao sudo korisnik i nastavite na sljedeći korak.
Korak 2: Instalirajte Javu
Preuzmite Oracle SE JDK RPM paket upisivanjem:
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"
Instalirajte preuzeti paket upisivanjem:
sudo yum -y localinstall jdk-8u131-linux-x64.rpm
Sada možete provjeriti verziju Jave upisivanjem:
java -version
Korak 3: Instalirajte i konfigurirajte PostgreSQL
Instalirajte PostgreSQL spremište upisivanjem:
sudo rpm -Uvh https://download.postgresql.org/pub/repos/yum/9.6/redhat/rhel-7-x86_64/pgdg-centos96-9.6-3.noarch.rpm
Instalirajte PostgreSQL poslužitelj baze podataka tako što ćete pokrenuti:
sudo yum -y install postgresql96-server postgresql96-contrib
Inicijalizirajte bazu podataka:
sudo /usr/pgsql-9.6/bin/postgresql96-setup initdb
Uredite da /var/lib/pgsql/9.6/data/pg_hba.confbiste omogućili provjeru autentičnosti temeljenu na MD5.
sudo nano /var/lib/pgsql/9.6/data/pg_hba.conf
Pronađite sljedeće retke i promijenite peeru trusti idnetu 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
Nakon ažuriranja, konfiguracija bi trebala izgledati kao dolje prikazana.
# 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
Pokrenite PostgreSQL poslužitelj i omogućite mu automatsko pokretanje prilikom pokretanja tako što ćete pokrenuti:
sudo systemctl start postgresql-9.6
sudo systemctl enable postgresql-9.6
Promijenite lozinku za zadanog korisnika PostgreSQL.
sudo passwd postgres
Prebacite se na postgreskorisnika.
su - postgres
Stvorite novog korisnika upisivanjem:
createuser sonar
Prijeđite na ljusku PostgreSQL.
psql
Postavite lozinku za novostvorenog korisnika za bazu podataka SonarQube.
ALTER USER sonar WITH ENCRYPTED password 'StrongPassword';
Napravite novu bazu podataka za PostgreSQL bazu podataka tako što ćete pokrenuti:
CREATE DATABASE sonar OWNER sonar;
Izlaz iz psqlljuske:
\q
Vratite se na sudo korisnika pokretanjem exitnaredbe.
Preuzmite arhivu datoteka instalacijskog programa SonarQube.
wget https://binaries.sonarsource.com/Distribution/sonarqube/sonarqube-6.4.zip
Uvijek možete potražiti vezu na najnoviju verziju aplikacije na stranici za preuzimanje SonarQubea .
Instalirajte raspakirajte tako što ćete pokrenuti:
sudo yum -y install unzip
Raspakirajte arhivu pomoću sljedeće naredbe.
sudo unzip sonarqube-6.4.zip -d /opt
Preimenujte imenik:
sudo mv /opt/sonarqube-6.4 /opt/sonarqube
Otvorite konfiguracijsku datoteku SonarQube koristeći svoj omiljeni uređivač teksta.
sudo nano /opt/sonarqube/conf/sonar.properties
Pronađite sljedeće retke.
#sonar.jdbc.username=
#sonar.jdbc.password=
Odkomentirajte i navedite PostgreSQL korisničko ime i lozinku za bazu podataka koju smo ranije kreirali. Trebalo bi izgledati ovako:
sonar.jdbc.username=sonar
sonar.jdbc.password=StrongPassword
Zatim pronađite:
#sonar.jdbc.url=jdbc:postgresql://localhost/sonar
Dekomentirajte redak, spremite datoteku i izađite iz uređivača.
SonarQube se može pokrenuti izravno pomoću skripte za pokretanje koja se nalazi u paketu za instalaciju. Radi praktičnosti, trebali biste postaviti Systemd jediničnu datoteku za SonarQube.
sudo nano /etc/systemd/system/sonar.service
Popunite datoteku sa:
[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
Pokrenite aplikaciju pokretanjem:
sudo systemctl start sonar
Omogućite uslugu SonarQube da se automatski pokrene prilikom pokretanja.
sudo systemctl enable sonar
Da biste provjerili radi li usluga, pokrenite:
sudo systemctl status sonar
Prema zadanim postavkama, SonarQube sluša localhost na portu 9000. U ovom vodiču ćemo koristiti Apache kao obrnuti proxy tako da se aplikaciji može pristupiti putem standardnog HTTP porta. Instalirajte Apache web poslužitelj tako što ćete pokrenuti:
sudo yum -y install httpd
Napravite novi virtualni host.
sudo nano /etc/httpd/conf.d/sonar.yourdomain.com.conf
Popunite datoteku sa:
<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>
Pokrenite Apache i omogućite mu automatsko pokretanje prilikom pokretanja:
sudo systemctl start httpd
sudo systemctl enable httpd
Dopustite traženi HTTP port kroz vatrozid sustava.
sudo firewall-cmd --add-service=http --permanent
sudo firewall-cmd --reload
Pokrenite uslugu SonarQube:
sudo systemctl start sonar
Također ćete morati onemogućiti SELinux:
sudo setenforce 0
SonarQube je instaliran na vašem poslužitelju, pristupite nadzornoj ploči na sljedećoj adresi.
http://sonar.yourdomain.com
Prijavite se pomoću početnog administratorskog računa admini admin. Sada možete koristiti SonarQube za kontinuiranu analizu koda koji ste napisali.
Greška
Ako instalirate SonarQube 7.1 (ili noviji), izvršite promjene u nastavku jer se novije verzije Elasticsearcha ne mogu pokretati kao root korisnik.
- Ažuriranje dopuštenja:
chown -R sonar:sonar /opt/sonarqube
- Izmijenite
/opt/sonarqube/bin/linux-x86-64/sonar.sh, promijenite #RUNASu " sonar".
- Izmijenite
/etc/systemd/system/sonar.service, promijenite korisničku grupu u " sonar".