Si të instaloni SonarQube në CentOS 7

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 .

Hapi 1: Kryeni një përditësim të sistemit

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 peertrustdhe idnetmd5.

# 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.

Hapi 4: Shkarkoni dhe konfiguroni SonarQube

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.

Hapi 5: Konfiguro shërbimin Systemd

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

Hapi 5: Konfiguro përfaqësuesin e kundërt

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 [email protected]
    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

Hapi 6: Konfiguro murin e zjarrit

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".

Instaloni Plesk në CentOS 7

Instaloni Plesk në CentOS 7

Përdorimi i një sistemi të ndryshëm? Plesk është një panel kontrolli i pronarit të hostit në internet që lejon përdoruesit të administrojnë faqet e tyre të internetit personale dhe/ose të klientëve, bazat e të dhënave

Si të instaloni Squid Proxy në CentOS

Si të instaloni Squid Proxy në CentOS

Squid është një program i popullarizuar, falas Linux që ju lejon të krijoni një përfaqësues në ueb përcjellës. Në këtë udhëzues, do të shihni se si të instaloni Squid në CentOS për t'ju kthyer

Si të instaloni Lighttpd (LLMP Stack) në CentOS 6

Si të instaloni Lighttpd (LLMP Stack) në CentOS 6

Hyrje Lighttpd është një fork i Apache që synon të jetë shumë më pak intensiv me burime. Është i lehtë, prandaj emri i tij, dhe është mjaft i thjeshtë për t'u përdorur. Instaloni

Konfigurimi i rrjeteve statike dhe IPv6 në CentOS 7

Konfigurimi i rrjeteve statike dhe IPv6 në CentOS 7

VULTR kohët e fundit ka bërë ndryshime në fund të tyre dhe gjithçka duhet të funksionojë mirë tani me NetworkManager të aktivizuar. Nëse dëshironi të çaktivizoni

Modifikimi i Icinga2 për të përdorur Modelin Master/Klient në CentOS 6 ose CentOS 7

Modifikimi i Icinga2 për të përdorur Modelin Master/Klient në CentOS 6 ose CentOS 7

Icinga2 është një sistem i fuqishëm monitorimi dhe kur përdoret në një model master-klient, ai mund të zëvendësojë nevojën për kontrolle monitorimi të bazuara në NRPE. Master-klien

Si të instaloni Apache Cassandra 3.11.x në CentOS 7

Si të instaloni Apache Cassandra 3.11.x në CentOS 7

Përdorimi i një sistemi të ndryshëm? Apache Cassandra është një sistem i menaxhimit të bazës së të dhënave NoSQL falas dhe me burim të hapur që është krijuar për të ofruar shkallëzim, të lartë

Si të instaloni Microweber në CentOS 7

Si të instaloni Microweber në CentOS 7

Përdorimi i një sistemi të ndryshëm? Microweber është një CMS me burim të hapur drag and drop dhe dyqan online. Kodi burimor Microweber është pritur në GitHub. Ky udhëzues do t'ju tregojë

Si të instaloni Mattermost 4.1 në CentOS 7

Si të instaloni Mattermost 4.1 në CentOS 7

Përdorimi i një sistemi të ndryshëm? Mattermost është një alternativë me burim të hapur, të vetë-strehuar për shërbimin e mesazheve Slack SAAS. Me fjalë të tjera, me Mattermost, ju rreth

Le të enkriptojmë në Plesk

Le të enkriptojmë në Plesk

Paneli i kontrollit Plesk përmban një integrim shumë të bukur për Lets Encrypt. Lets Encrypt është një nga ofruesit e vetëm SSL që jep plotësisht certifikata

Lejon enkriptimin në cPanel

Lejon enkriptimin në cPanel

Lets Encrypt është një autoritet certifikimi i dedikuar për të ofruar certifikata SSL pa pagesë. cPanel ka ndërtuar një integrim të pastër në mënyrë që ju dhe klienti juaj

Si të instaloni Concrete5 në CentOS 7

Si të instaloni Concrete5 në CentOS 7

Përdorimi i një sistemi të ndryshëm? Concrete5 është një CMS me burim të hapur që ofron shumë veçori dalluese dhe të dobishme për të ndihmuar redaktorët në prodhimin e përmbajtjes me lehtësi dhe

How to Install Review Board on CentOS 7

How to Install Review Board on CentOS 7

Using a Different System? Review Board is a free and open source tool for reviewing source code, documentation, images and many more. It is web-based softwar

Konfiguro vërtetimin HTTP me Nginx në CentOS 7

Konfiguro vërtetimin HTTP me Nginx në CentOS 7

Në këtë udhëzues, do të mësoni se si të konfiguroni vërtetimin HTTP për një server ueb Nginx që funksionon në CentOS 7. Kërkesat Për të filluar, do t'ju duhet

Si të instaloni YOURLS në CentOS 7

Si të instaloni YOURLS në CentOS 7

YOURLS (Shkurtësi juaj i URL-së) është një aplikacion për shkurtimin e URL-ve me burim të hapur dhe analitikë të të dhënave. Në këtë artikull, ne do të mbulojmë procesin e instalimit

Si të instaloni dhe konfiguroni ArangoDB në CentOS 7

Si të instaloni dhe konfiguroni ArangoDB në CentOS 7

Përdorimi i një sistemi të ndryshëm? Hyrje ArangoDB është një bazë të dhënash NoSQL me burim të hapur me një model fleksibël të dhënash për dokumente, grafikë dhe vlera-kyçe. Eshte

Përdorimi i Etckeeper për kontrollin e versionit të /etc

Përdorimi i Etckeeper për kontrollin e versionit të /etc

Hyrje Drejtoria /etc/ luan një rol kritik në mënyrën se si funksionon një sistem Linux. Arsyeja për këtë është sepse pothuajse çdo konfigurim i sistemit

Pse duhet të përdorni SSHFS? Si të montoni një sistem skedari në distancë me SSHFS në CentOS 6

Pse duhet të përdorni SSHFS? Si të montoni një sistem skedari në distancë me SSHFS në CentOS 6

Shumë administratorë të sistemit menaxhojnë sasi të mëdha serverash. Kur skedarët duhet të aksesohen nëpër serverë të ndryshëm, hyni në secilin individualisht rreth

Vendosja e një serveri Half Life 2 në CentOS 6

Vendosja e një serveri Half Life 2 në CentOS 6

Ky tutorial do të mbulojë procesin e instalimit të një serveri lojërash Half Life 2 në Sistemin CentOS 6. Hapi 1: Instalimi i parakushteve Për të vendosur ou

Si të instaloni Laravel GitScrum në CentOS 7

Si të instaloni Laravel GitScrum në CentOS 7

Laravel GitScrum, ose GitScrum është një mjet produktiviteti me burim të hapur i krijuar për të ndihmuar ekipet e zhvillimit të zbatojnë metodologjinë Scrum në një mënyrë të ngjashme.

Si të instaloni PowerDNS në CentOS

Si të instaloni PowerDNS në CentOS

Hyrje Në këtë tutorial të Vultr, do të mësoni se si të instaloni PowerDNS. PowerDNS është një program për ekzekutimin e serverëve tuaj të emrave. Është shumë e dobishme kur

Ngritja e makinave: Aplikimet në botën reale të AI

Ngritja e makinave: Aplikimet në botën reale të AI

Inteligjenca Artificiale nuk është në të ardhmen, është këtu në të tashmen Në këtë blog Lexoni se si aplikacionet e inteligjencës artificiale kanë ndikuar në sektorë të ndryshëm.

Sulmet DDOS: Një përmbledhje e shkurtër

Sulmet DDOS: Një përmbledhje e shkurtër

A jeni edhe ju viktimë e Sulmeve DDOS dhe jeni konfuz në lidhje me metodat e parandalimit? Lexoni këtë artikull për të zgjidhur pyetjet tuaja.

A e keni pyetur ndonjëherë veten se si fitojnë para hakerët?

A e keni pyetur ndonjëherë veten se si fitojnë para hakerët?

Ju mund të keni dëgjuar se hakerët fitojnë shumë para, por a keni menduar ndonjëherë se si i fitojnë ato para? Le te diskutojme.

Shpikjet revolucionare nga Google që do tju bëjnë të lehtë jetën tuaj.

Shpikjet revolucionare nga Google që do tju bëjnë të lehtë jetën tuaj.

Dëshironi të shihni shpikjet revolucionare nga Google dhe se si këto shpikje ndryshuan jetën e çdo njeriu sot? Më pas lexoni në blog për të parë shpikjet nga Google.

E Premte Thelbësore: Çfarë ndodhi me Makinat e drejtuara nga AI?

E Premte Thelbësore: Çfarë ndodhi me Makinat e drejtuara nga AI?

Koncepti i makinave vetë-drejtuese për të dalë në rrugë me ndihmën e inteligjencës artificiale është një ëndërr që e kemi prej kohësh. Por, pavarësisht nga disa premtime, ato nuk shihen askund. Lexoni këtë blog për të mësuar më shumë…

Singulariteti teknologjik: Një e ardhme e largët e qytetërimit njerëzor?

Singulariteti teknologjik: Një e ardhme e largët e qytetërimit njerëzor?

Ndërsa Shkenca evoluon me një ritëm të shpejtë, duke marrë përsipër shumë nga përpjekjet tona, rriten edhe rreziqet për t'iu nënshtruar një Singulariteti të pashpjegueshëm. Lexoni, çfarë mund të thotë singulariteti për ne.

Evolucioni i ruajtjes së të dhënave - Infografik

Evolucioni i ruajtjes së të dhënave - Infografik

Metodat e ruajtjes së të dhënave kanë evoluar mund të jenë që nga lindja e të dhënave. Ky blog mbulon evolucionin e ruajtjes së të dhënave në bazë të një infografike.

Funksionalitetet e shtresave të arkitekturës së referencës së të dhënave të mëdha

Funksionalitetet e shtresave të arkitekturës së referencës së të dhënave të mëdha

Lexoni blogun për të njohur shtresat e ndryshme në arkitekturën e të dhënave të mëdha dhe funksionalitetet e tyre në mënyrën më të thjeshtë.

6 Përfitimet e mahnitshme të të pasurit pajisje shtëpiake inteligjente në jetën tonë

6 Përfitimet e mahnitshme të të pasurit pajisje shtëpiake inteligjente në jetën tonë

Në këtë botë të drejtuar nga dixhitali, pajisjet inteligjente të shtëpisë janë bërë një pjesë thelbësore e jetës. Këtu janë disa përfitime të mahnitshme të pajisjeve shtëpiake inteligjente se si ato e bëjnë jetën tonë të vlefshme dhe më të thjeshtë.

Përditësimi shtesë i macOS Catalina 10.15.4 po shkakton më shumë probleme sesa zgjidhja

Përditësimi shtesë i macOS Catalina 10.15.4 po shkakton më shumë probleme sesa zgjidhja

Së fundmi Apple lëshoi ​​macOS Catalina 10.15.4 një përditësim shtesë për të rregulluar problemet, por duket se përditësimi po shkakton më shumë probleme që çojnë në bricking të makinerive mac. Lexoni këtë artikull për të mësuar më shumë