Kaip įdiegti „SonarQube“ „CentOS 7“.

„SonarQube“ yra atvirojo kodo įrankis, skirtas kokybės sistemos kūrimui. Ji parašyta Java kalba ir palaiko kelias duomenų bazes. Tai suteikia galimybę nuolat tikrinti kodą, parodyti programos būklę ir pabrėžti naujas problemas. Jame yra kodo analizatoriai, kurie yra įrengti aptikti sudėtingas problemas. Jis taip pat lengvai integruojamas su „DevOps“.

Šioje pamokoje mes įdiegsime naujausią „SonarQube“ versiją „CentOS 7“.

Pastaba: šis dokumentas buvo atnaujintas nuo jo pradinio paskelbimo. Žr. skyrių „Klaida“ išnašose.

Būtinos sąlygos

  • Vultr 64 bitų CentOS 7 serverio egzempliorius su mažiausiai 2 GB RAM.
  • Sudo vartotojas .

1 veiksmas: atnaujinkite sistemą

Prieš diegiant bet kokius paketus CentOS serverio egzemplioriuje, rekomenduojama atnaujinti sistemą. Prisijunkite naudodami sudo vartotoją ir paleiskite šias komandas, kad atnaujintumėte sistemą.

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

Kai sistema baigs paleisti iš naujo, prisijunkite dar kartą kaip sudo vartotojas ir pereikite prie kito veiksmo.

2 veiksmas: įdiekite „Java“.

Atsisiųskite Oracle SE JDK RPM paketą įvesdami:

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"

Įdiekite atsisiųstą paketą įvesdami:

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

Dabar galite patikrinti „Java“ versiją įvesdami:

java -version

3 veiksmas: įdiekite ir sukonfigūruokite PostgreSQL

Įdiekite PostgreSQL saugyklą įvesdami:

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

Įdiekite PostgreSQL duomenų bazės serverį paleisdami:

sudo yum -y install postgresql96-server postgresql96-contrib

Inicijuoti duomenų bazę:

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

Redaguokite, /var/lib/pgsql/9.6/data/pg_hba.confkad įjungtumėte MD5 pagrįstą autentifikavimą.

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

Raskite šias eilutes ir pakeiskite peerį trustir idnetį 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

Atnaujinus konfigūraciją turėtų atrodyti taip, kaip parodyta toliau.

# 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

Paleiskite PostgreSQL serverį ir įgalinkite jį automatiškai paleisti įkrovos metu, paleisdami:

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

Pakeiskite numatytojo „PostgreSQL“ vartotojo slaptažodį.

sudo passwd postgres

Perjungti į postgresvartotoją.

su - postgres

Sukurkite naują vartotoją įvesdami:

createuser sonar

Perjunkite į PostgreSQL apvalkalą.

psql

Nustatykite slaptažodį naujai sukurtam SonarQube duomenų bazės vartotojui.

ALTER USER sonar WITH ENCRYPTED password 'StrongPassword';

Sukurkite naują PostgreSQL duomenų bazę paleisdami:

CREATE DATABASE sonar OWNER sonar;

Išėjimas iš psqlapvalkalo:

\q

Grįžkite į sudo vartotoją paleisdami exitkomandą.

4 veiksmas: atsisiųskite ir sukonfigūruokite „SonarQube“.

Atsisiųskite „SonarQube“ diegimo programos failų archyvą.

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

Nuorodos į naujausią programos versiją visada galite ieškoti „SonarQube“ atsisiuntimo puslapyje .

Įdiekite išpakavimą paleisdami:

sudo yum -y install unzip

Išpakuokite archyvą naudodami šią komandą.

sudo unzip sonarqube-6.4.zip -d /opt

Pervardykite katalogą:

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

Atidarykite „SonarQube“ konfigūracijos failą naudodami mėgstamą teksto rengyklę.

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

Raskite šias eilutes.

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

Panaikinkite komentarą ir pateikite anksčiau sukurtos duomenų bazės PostgreSQL vartotojo vardą ir slaptažodį. Tai turėtų atrodyti taip:

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

Toliau suraskite:

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

Panaikinkite eilutės komentarą, išsaugokite failą ir išeikite iš redaktoriaus.

5 veiksmas: sukonfigūruokite „Systemd“ paslaugą

„SonarQube“ galima paleisti tiesiogiai naudojant paleisties scenarijų, pateiktą diegimo programos pakete. Patogumo sumetimais turėtumėte nustatyti „SonarQube“ sistemos vieneto failą.

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

Užpildykite failą:

[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

Paleiskite programą paleisdami:

sudo systemctl start sonar

Įgalinkite „SonarQube“ paslaugą, kad ji būtų automatiškai paleista įkrovos metu.

sudo systemctl enable sonar

Norėdami patikrinti, ar paslauga veikia, paleiskite:

sudo systemctl status sonar

5 veiksmas: sukonfigūruokite atvirkštinį tarpinį serverį

Pagal numatytuosius nustatymus „SonarQube“ klauso „localhost“ prievado 9000. Šioje pamokoje „Apache“ naudosime kaip atvirkštinį tarpinį serverį, kad programą būtų galima pasiekti per standartinį HTTP prievadą. Įdiekite „Apache“ žiniatinklio serverį paleisdami:

sudo yum -y install httpd

Sukurkite naują virtualų pagrindinį kompiuterį.

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

Užpildykite failą:

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

Paleiskite „Apache“ ir įgalinkite jį automatiškai paleisti įkrovos metu:

sudo systemctl start httpd
sudo systemctl enable httpd

6 veiksmas: sukonfigūruokite ugniasienę

Leiskite reikiamą HTTP prievadą per sistemos ugniasienę.

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

Paleiskite „SonarQube“ paslaugą:

sudo systemctl start sonar

Taip pat turėsite išjungti SELinux:

sudo setenforce 0

„SonarQube“ įdiegtas jūsų serveryje, pasiekite prietaisų skydelį šiuo adresu.

http://sonar.yourdomain.com

Prisijunkite naudodami pradinę administratoriaus paskyrą adminir admin. Dabar galite naudoti SonarQube nuolat analizuoti parašytą kodą.


Errata

Jei diegiate SonarQube 7.1 (arba naujesnę), atlikite toliau nurodytus pakeitimus, nes naujesnės Elasticsearch versijos negali būti paleistos kaip root naudotojas.

  • Atnaujinti leidimus: chown -R sonar:sonar /opt/sonarqube
  • Keisti /opt/sonarqube/bin/linux-x86-64/sonar.sh, pakeisti #RUNASį " sonar".
  • Keisti /etc/systemd/system/sonar.service, pakeisti vartotojų grupę į " sonar".

Palikti komentarą

Mašinų augimas: AI pritaikymas realiame pasaulyje

Mašinų augimas: AI pritaikymas realiame pasaulyje

Dirbtinis intelektas nėra ateityje, jis čia, dabartyje Šiame tinklaraštyje Skaitykite, kaip dirbtinio intelekto programos paveikė įvairius sektorius.

DDOS atakos: trumpa apžvalga

DDOS atakos: trumpa apžvalga

Ar taip pat esate DDOS atakų auka ir esate sumišęs dėl prevencijos metodų? Perskaitykite šį straipsnį, kad išspręstumėte savo užklausas.

Ar kada nors susimąstėte, kaip įsilaužėliai uždirba pinigų?

Ar kada nors susimąstėte, kaip įsilaužėliai uždirba pinigų?

Galbūt girdėjote, kad įsilaužėliai uždirba daug pinigų, bet ar kada susimąstėte, kaip jie uždirba tokius pinigus? padiskutuokime.

Revoliuciniai „Google“ išradimai, kurie palengvins jūsų gyvenimą.

Revoliuciniai „Google“ išradimai, kurie palengvins jūsų gyvenimą.

Ar norite pamatyti revoliucinius „Google“ išradimus ir kaip šie išradimai pakeitė kiekvieno žmogaus gyvenimą šiandien? Tada skaitykite tinklaraštį, kad pamatytumėte „Google“ išradimus.

Penktadienio esminiai dalykai: kas atsitiko AI varomiems automobiliams?

Penktadienio esminiai dalykai: kas atsitiko AI varomiems automobiliams?

Savavaledžių automobilių koncepcija, kuri išvažiuotų į kelius su dirbtinio intelekto pagalba, yra svajonė, kurią jau kurį laiką svajojame. Tačiau nepaisant kelių pažadų, jų niekur nematyti. Skaitykite šį tinklaraštį, kad sužinotumėte daugiau…

Technologinis išskirtinumas: tolima žmogaus civilizacijos ateitis?

Technologinis išskirtinumas: tolima žmogaus civilizacijos ateitis?

Kadangi mokslas sparčiai vystosi, perimdamas daug mūsų pastangų, taip pat didėja rizika, kad pateksime į nepaaiškinamą singuliarumą. Skaitykite, ką mums gali reikšti išskirtinumas.

Didžiųjų duomenų atskaitos architektūros sluoksnių funkcijos

Didžiųjų duomenų atskaitos architektūros sluoksnių funkcijos

Skaitykite tinklaraštį, kad paprasčiausiai sužinotumėte apie skirtingus didžiųjų duomenų architektūros sluoksnius ir jų funkcijas.

Duomenų saugojimo raida – infografika

Duomenų saugojimo raida – infografika

Duomenų saugojimo metodai gali būti tobulinami nuo pat Duomenų gimimo. Šiame tinklaraštyje, remiantis infografika, aprašoma duomenų saugojimo raida.

6 nuostabūs išmaniųjų namų įrenginių privalumai

6 nuostabūs išmaniųjų namų įrenginių privalumai

Šiame skaitmeniniu būdu pagrįstame pasaulyje išmanieji namų įrenginiai tapo svarbia gyvenimo dalimi. Štai keletas nuostabių išmaniųjų namų įrenginių privalumų, kaip jie daro mūsų gyvenimą vertą gyventi ir paprastesnį.

„macOS Catalina 10.15.4“ priedo atnaujinimas kelia daugiau problemų, nei sprendžia

„macOS Catalina 10.15.4“ priedo atnaujinimas kelia daugiau problemų, nei sprendžia

Neseniai „Apple“ išleido „macOS Catalina 10.15.4“ priedą, skirtą problemoms išspręsti, tačiau atrodo, kad dėl atnaujinimo kyla daugiau problemų, dėl kurių „Mac“ įrenginiai blokuojami. Norėdami sužinoti daugiau, perskaitykite šį straipsnį