Parakushtet
Hapi 1: Kryeni një përditësim të sistemit
Hapi 2: Instaloni Java
Hapi 3: Instaloni dhe konfiguroni PostgreSQL
Hapi 4: Shkarkoni dhe konfiguroni SonarQube
Hapi 5: Konfiguro shërbimin Systemd
Hapi 5: Konfiguro përfaqësuesin e kundërt
Hapi 6: Konfiguro murin e zjarrit
I gabuar
SonarQube është një mjet me burim të hapur për zhvillimin e sistemit të cilësisë. Është shkruar në Java dhe mbështet baza të të dhënave të shumta. Ai siguron aftësi për të inspektuar vazhdimisht kodin, për të treguar shëndetin e një aplikacioni dhe për të nxjerrë në pah çështjet e reja të prezantuara. Ai përmban analizues kodesh që janë të pajisur për të zbuluar çështje të ndërlikuara. Gjithashtu integrohet lehtësisht me DevOps.
Në këtë tutorial, ne do të instalojmë versionin më të fundit të SonarQube në CentOS 7.
Shënim: Ky dokument është përditësuar që nga publikimi i tij origjinal. Shihni seksionin "Errata" në fusnota.
Parakushtet
- Një shembull i serverit Vultr 64-bit CentOS 7 me të paktën 2 GB RAM.
- Një përdorues sudo .
Përpara se të instaloni ndonjë paketë në shembullin e serverit CentOS, rekomandohet të përditësoni sistemin. Hyni duke përdorur përdoruesin sudo dhe ekzekutoni komandat e mëposhtme për të përditësuar sistemin.
sudo yum -y install epel-release
sudo yum -y update
sudo shutdown -r now
Pasi sistemi të ketë mbaruar rindezjen, hyni përsëri si përdorues sudo dhe vazhdoni në hapin tjetër.
Hapi 2: Instaloni Java
Shkarkoni paketën Oracle SE JDK RPM duke shtypur:
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"
Instaloni paketën e shkarkuar duke shtypur:
sudo yum -y localinstall jdk-8u131-linux-x64.rpm
Tani mund të kontrolloni versionin e Java duke shtypur:
java -version
Hapi 3: Instaloni dhe konfiguroni PostgreSQL
Instaloni depon e PostgreSQL duke shtypur:
sudo rpm -Uvh https://download.postgresql.org/pub/repos/yum/9.6/redhat/rhel-7-x86_64/pgdg-centos96-9.6-3.noarch.rpm
Instaloni serverin e bazës së të dhënave PostgreSQL duke ekzekutuar:
sudo yum -y install postgresql96-server postgresql96-contrib
Inicializoni bazën e të dhënave:
sudo /usr/pgsql-9.6/bin/postgresql96-setup initdb
Ndryshoni /var/lib/pgsql/9.6/data/pg_hba.confpër të aktivizuar vërtetimin e bazuar në MD5.
sudo nano /var/lib/pgsql/9.6/data/pg_hba.conf
Gjeni rreshtat e mëposhtëm dhe ndryshoni peernë trustdhe idnetnë 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
Pasi të përditësohet, konfigurimi duhet të duket si ai i paraqitur më poshtë.
# 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
Nisni serverin PostgreSQL dhe aktivizoni atë të fillojë automatikisht në kohën e nisjes duke ekzekutuar:
sudo systemctl start postgresql-9.6
sudo systemctl enable postgresql-9.6
Ndryshoni fjalëkalimin për përdoruesin e paracaktuar të PostgreSQL.
sudo passwd postgres
Kalo te postgrespërdoruesi.
su - postgres
Krijo një përdorues të ri duke shtypur:
createuser sonar
Kalo në guaskën PostgreSQL.
psql
Vendosni një fjalëkalim për përdoruesin e sapokrijuar për bazën e të dhënave SonarQube.
ALTER USER sonar WITH ENCRYPTED password 'StrongPassword';
Krijoni një bazë të dhënash të re për bazën e të dhënave PostgreSQL duke ekzekutuar:
CREATE DATABASE sonar OWNER sonar;
Dalja nga psqlguaska:
\q
Kthehuni te përdoruesi sudo duke ekzekutuar exitkomandën.
Shkarkoni arkivin e skedarëve të instaluesit SonarQube.
wget https://binaries.sonarsource.com/Distribution/sonarqube/sonarqube-6.4.zip
Mund të kërkoni gjithmonë lidhjen për versionin më të fundit të aplikacionit në faqen e shkarkimit të SonarQube .
Instaloni unzip duke ekzekutuar:
sudo yum -y install unzip
Hapni arkivin duke përdorur komandën e mëposhtme.
sudo unzip sonarqube-6.4.zip -d /opt
Riemërtoni drejtorinë:
sudo mv /opt/sonarqube-6.4 /opt/sonarqube
Hapni skedarin e konfigurimit SonarQube duke përdorur redaktuesin tuaj të preferuar të tekstit.
sudo nano /opt/sonarqube/conf/sonar.properties
Gjeni rreshtat e mëposhtëm.
#sonar.jdbc.username=
#sonar.jdbc.password=
Zhkomentoni dhe jepni emrin e përdoruesit dhe fjalëkalimin e PostgreSQL të bazës së të dhënave që kemi krijuar më parë. Duhet të duket si:
sonar.jdbc.username=sonar
sonar.jdbc.password=StrongPassword
Më pas, gjeni:
#sonar.jdbc.url=jdbc:postgresql://localhost/sonar
Çkomentoni rreshtin, ruani skedarin dhe dilni nga redaktori.
SonarQube mund të niset drejtpërdrejt duke përdorur skriptin e fillimit të dhënë në paketën e instaluesit. Për lehtësi, duhet të konfiguroni një skedar të njësisë Systemd për SonarQube.
sudo nano /etc/systemd/system/sonar.service
Plotësoni skedarin me:
[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
Nisni aplikacionin duke ekzekutuar:
sudo systemctl start sonar
Aktivizo shërbimin SonarQube që të fillojë automatikisht në kohën e nisjes.
sudo systemctl enable sonar
Për të kontrolluar nëse shërbimi po funksionon, ekzekutoni:
sudo systemctl status sonar
Si parazgjedhje, SonarQube dëgjon localhost në portin 9000. Në këtë tutorial, ne do të përdorim Apache si përfaqësues të kundërt, në mënyrë që aplikacioni të mund të aksesohet nëpërmjet portit standard HTTP. Instaloni serverin në internet Apache duke ekzekutuar:
sudo yum -y install httpd
Krijo një host të ri virtual.
sudo nano /etc/httpd/conf.d/sonar.yourdomain.com.conf
Plotësoni skedarin me:
<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>
Nisni Apache dhe aktivizoni që të fillojë automatikisht në kohën e nisjes:
sudo systemctl start httpd
sudo systemctl enable httpd
Lejo portin e kërkuar HTTP përmes murit të zjarrit të sistemit.
sudo firewall-cmd --add-service=http --permanent
sudo firewall-cmd --reload
Nisni shërbimin SonarQube:
sudo systemctl start sonar
Ju gjithashtu do të duhet të çaktivizoni SELinux:
sudo setenforce 0
SonarQube është instaluar në serverin tuaj, hyni në panelin e kontrollit në adresën e mëposhtme.
http://sonar.yourdomain.com
Hyni duke përdorur llogarinë fillestare të administratorit admindhe admin. Tani mund të përdorni SonarQube për të analizuar vazhdimisht kodin që keni shkruar.
I gabuar
Nëse instaloni SonarQube 7.1 (ose më të ri), bëni ndryshimet më poshtë sepse versionet më të reja të Elasticsearch nuk mund të ekzekutohen si përdorues rrënjë.
- Përditëso lejet:
chown -R sonar:sonar /opt/sonarqube
- Modifiko
/opt/sonarqube/bin/linux-x86-64/sonar.sh, ndrysho #RUNASnë " sonar".
- Modifiko
/etc/systemd/system/sonar.service, ndrysho grupin e përdoruesve në " sonar".