Πώς να εγκαταστήσετε το SonarQube στο CentOS 7

Το SonarQube είναι ένα εργαλείο ανοιχτού κώδικα για την ανάπτυξη συστημάτων ποιότητας. Είναι γραμμένο σε Java και υποστηρίζει πολλαπλές βάσεις δεδομένων. Παρέχει δυνατότητες συνεχούς επιθεώρησης κώδικα, εμφάνισης της καλής λειτουργίας μιας εφαρμογής και επισήμανσης νέων προβλημάτων. Περιέχει αναλυτές κώδικα που είναι εξοπλισμένοι για να ανιχνεύουν δύσκολα ζητήματα. Επίσης, ενσωματώνεται εύκολα με το DevOps.

Σε αυτό το σεμινάριο, θα εγκαταστήσουμε την πιο πρόσφατη έκδοση του SonarQube στο CentOS 7.

Σημείωση: Αυτό το έγγραφο έχει ενημερωθεί από την αρχική του δημοσίευση. Δείτε την ενότητα "Errata" στις υποσημειώσεις.

Προαπαιτούμενα

  • Μια παρουσία διακομιστή Vultr 64-bit CentOS 7 με τουλάχιστον 2 GB RAM.
  • Ένας χρήστης sudo .

Βήμα 1: Εκτελέστε μια ενημέρωση συστήματος

Πριν εγκαταστήσετε οποιοδήποτε πακέτο στην παρουσία του διακομιστή CentOS, συνιστάται να ενημερώσετε το σύστημα. Συνδεθείτε χρησιμοποιώντας τον χρήστη sudo και εκτελέστε τις ακόλουθες εντολές για να ενημερώσετε το σύστημα.

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

Μόλις ολοκληρωθεί η επανεκκίνηση του συστήματος, συνδεθείτε ξανά ως χρήστης sudo και προχωρήστε στο επόμενο βήμα.

Βήμα 2: Εγκατάσταση Java

Κατεβάστε το πακέτο Oracle SE JDK RPM πληκτρολογώντας:

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"

Εγκαταστήστε το πακέτο που έχετε λάβει πληκτρολογώντας:

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

Τώρα μπορείτε να ελέγξετε την έκδοση της Java πληκτρολογώντας:

java -version

Βήμα 3: Εγκαταστήστε και ρυθμίστε τις παραμέτρους της PostgreSQL

Εγκαταστήστε το αποθετήριο PostgreSQL πληκτρολογώντας:

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

Εγκαταστήστε τον διακομιστή βάσης δεδομένων PostgreSQL εκτελώντας:

sudo yum -y install postgresql96-server postgresql96-contrib

Αρχικοποιήστε τη βάση δεδομένων:

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

Επεξεργαστείτε το /var/lib/pgsql/9.6/data/pg_hba.confγια να ενεργοποιήσετε τον έλεγχο ταυτότητας βάσει MD5.

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

Βρείτε τις ακόλουθες γραμμές και αλλάξτε peerσε trustκαι 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

Μόλις ενημερωθεί, η διαμόρφωση θα πρέπει να μοιάζει με αυτήν που φαίνεται παρακάτω.

# 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

Εκκινήστε τον PostgreSQL διακομιστή και ενεργοποιήστε τον να ξεκινά αυτόματα κατά την εκκίνηση εκτελώντας:

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

Αλλάξτε τον κωδικό πρόσβασης για τον προεπιλεγμένο χρήστη PostgreSQL.

sudo passwd postgres

Εναλλαγή στο postgresχρήστη.

su - postgres

Δημιουργήστε έναν νέο χρήστη πληκτρολογώντας:

createuser sonar

Μεταβείτε στο κέλυφος PostgreSQL.

psql

Ορίστε έναν κωδικό πρόσβασης για τον νέο χρήστη για τη βάση δεδομένων SonarQube.

ALTER USER sonar WITH ENCRYPTED password 'StrongPassword';

Δημιουργήστε μια νέα βάση δεδομένων για τη βάση δεδομένων PostgreSQL εκτελώντας:

CREATE DATABASE sonar OWNER sonar;

Έξοδος από το psqlκέλυφος:

\q

Επιστρέψτε στον χρήστη sudo εκτελώντας την exitεντολή.

Βήμα 4: Λήψη και διαμόρφωση του SonarQube

Κάντε λήψη του αρχείου αρχείων εγκατάστασης του SonarQube.

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

Μπορείτε πάντα να αναζητήσετε τον σύνδεσμο προς την πιο πρόσφατη έκδοση της εφαρμογής στη σελίδα λήψης του SonarQube .

Εγκαταστήστε το unzip εκτελώντας:

sudo yum -y install unzip

Αποσυμπιέστε το αρχείο χρησιμοποιώντας την ακόλουθη εντολή.

sudo unzip sonarqube-6.4.zip -d /opt

Μετονομάστε τον κατάλογο:

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

Ανοίξτε το αρχείο διαμόρφωσης SonarQube χρησιμοποιώντας το αγαπημένο σας πρόγραμμα επεξεργασίας κειμένου.

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

Βρείτε τις παρακάτω γραμμές.

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

Καταργήστε το σχόλιο και δώστε το όνομα χρήστη και τον κωδικό πρόσβασης PostgreSQL της βάσης δεδομένων που δημιουργήσαμε νωρίτερα. Θα πρέπει να μοιάζει με:

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

Στη συνέχεια, βρείτε:

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

Καταργήστε το σχόλιο της γραμμής, αποθηκεύστε το αρχείο και βγείτε από το πρόγραμμα επεξεργασίας.

Βήμα 5: Διαμόρφωση της υπηρεσίας Systemd

Το SonarQube μπορεί να ξεκινήσει απευθείας χρησιμοποιώντας το σενάριο εκκίνησης που παρέχεται στο πακέτο εγκατάστασης. Για λόγους ευκολίας, θα πρέπει να ρυθμίσετε ένα αρχείο μονάδας Systemd για το SonarQube.

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

Συμπληρώστε το αρχείο με:

[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

Ξεκινήστε την εφαρμογή εκτελώντας:

sudo systemctl start sonar

Ενεργοποιήστε την αυτόματη εκκίνηση της υπηρεσίας SonarQube κατά την εκκίνηση.

sudo systemctl enable sonar

Για να ελέγξετε εάν η υπηρεσία εκτελείται, εκτελέστε:

sudo systemctl status sonar

Βήμα 5: Διαμόρφωση αντίστροφου διακομιστή μεσολάβησης

Από προεπιλογή, το SonarQube ακούει τον localhost στη θύρα 9000. Σε αυτό το σεμινάριο, θα χρησιμοποιήσουμε τον Apache ως τον αντίστροφο διακομιστή μεσολάβησης, έτσι ώστε η εφαρμογή να είναι προσβάσιμη μέσω της τυπικής θύρας HTTP. Εγκαταστήστε τον διακομιστή ιστού Apache εκτελώντας:

sudo yum -y install httpd

Δημιουργήστε έναν νέο εικονικό κεντρικό υπολογιστή.

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

Συμπληρώστε το αρχείο με:

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

Εκκινήστε το Apache και ενεργοποιήστε το να ξεκινά αυτόματα κατά την εκκίνηση:

sudo systemctl start httpd
sudo systemctl enable httpd

Βήμα 6: Διαμόρφωση τείχους προστασίας

Επιτρέψτε την απαιτούμενη θύρα HTTP μέσω του τείχους προστασίας του συστήματος.

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

Ξεκινήστε την υπηρεσία SonarQube:

sudo systemctl start sonar

Θα χρειαστεί επίσης να απενεργοποιήσετε το SELinux:

sudo setenforce 0

Το SonarQube είναι εγκατεστημένο στον διακομιστή σας, αποκτήστε πρόσβαση στον πίνακα εργαλείων στην ακόλουθη διεύθυνση.

http://sonar.yourdomain.com

Συνδεθείτε χρησιμοποιώντας τον αρχικό λογαριασμό διαχειριστή adminκαι admin. Τώρα μπορείτε να χρησιμοποιήσετε το SonarQube για να αναλύετε συνεχώς τον κώδικα που έχετε γράψει.


Ακατάστατο

Εάν εγκαθιστάτε το SonarQube 7.1 (ή νεότερο), κάντε τις παρακάτω αλλαγές, επειδή οι νεότερες εκδόσεις του Elasticsearch δεν μπορούν να εκτελεστούν ως χρήστης root.

  • Ενημέρωση αδειών: chown -R sonar:sonar /opt/sonarqube
  • Τροποποιήστε /opt/sonarqube/bin/linux-x86-64/sonar.sh, αλλάξτε #RUNASσε " sonar".
  • Τροποποιήστε /etc/systemd/system/sonar.service, αλλάξτε την ομάδα χρηστών σε " sonar".

Αφήστε ένα σχόλιο

The Rise of Machines: Real World Applications of AI

The Rise of Machines: Real World Applications of AI

Η Τεχνητή Νοημοσύνη δεν είναι στο μέλλον, είναι εδώ ακριβώς στο παρόν Σε αυτό το blog Διαβάστε πώς οι εφαρμογές Τεχνητής Νοημοσύνης έχουν επηρεάσει διάφορους τομείς.

Επιθέσεις DDOS: Μια σύντομη επισκόπηση

Επιθέσεις DDOS: Μια σύντομη επισκόπηση

Είστε επίσης θύμα των επιθέσεων DDOS και έχετε μπερδευτεί σχετικά με τις μεθόδους πρόληψης; Διαβάστε αυτό το άρθρο για να λύσετε τις απορίες σας.

Έχετε αναρωτηθεί ποτέ πώς κερδίζουν χρήματα οι χάκερ;

Έχετε αναρωτηθεί ποτέ πώς κερδίζουν χρήματα οι χάκερ;

Μπορεί να έχετε ακούσει ότι οι χάκερ κερδίζουν πολλά χρήματα, αλλά έχετε αναρωτηθεί ποτέ πώς κερδίζουν τέτοια χρήματα; ας συζητήσουμε.

Επαναστατικές εφευρέσεις από την Google που θα σας φέρουν εύκολη στη ζωή.

Επαναστατικές εφευρέσεις από την Google που θα σας φέρουν εύκολη στη ζωή.

Θέλετε να δείτε επαναστατικές εφευρέσεις της Google και πώς αυτές οι εφευρέσεις άλλαξαν τη ζωή κάθε ανθρώπου σήμερα; Στη συνέχεια, διαβάστε στο blog για να δείτε τις εφευρέσεις της Google.

Friday Essential: Τι συνέβη με τα αυτοκίνητα που κινούνται με AI;

Friday Essential: Τι συνέβη με τα αυτοκίνητα που κινούνται με AI;

Η ιδέα των αυτοκινούμενων αυτοκινήτων να βγαίνουν στους δρόμους με τη βοήθεια της τεχνητής νοημοσύνης είναι ένα όνειρο που έχουμε εδώ και καιρό. Όμως, παρά τις πολλές υποσχέσεις, δεν φαίνονται πουθενά. Διαβάστε αυτό το blog για να μάθετε περισσότερα…

Τεχνολογική μοναδικότητα: Ένα μακρινό μέλλον του ανθρώπινου πολιτισμού;

Τεχνολογική μοναδικότητα: Ένα μακρινό μέλλον του ανθρώπινου πολιτισμού;

Καθώς η Επιστήμη εξελίσσεται με γρήγορους ρυθμούς, αναλαμβάνοντας πολλές από τις προσπάθειές μας, αυξάνονται και οι κίνδυνοι να υποβάλλουμε τον εαυτό μας σε μια ανεξήγητη Ιδιότητα. Διαβάστε τι σημαίνει η μοναδικότητα για εμάς.

Λειτουργίες Αρχιτεκτονικών Επιπέδων Αναφοράς Μεγάλων Δεδομένων

Λειτουργίες Αρχιτεκτονικών Επιπέδων Αναφοράς Μεγάλων Δεδομένων

Διαβάστε το ιστολόγιο για να μάθετε διαφορετικά επίπεδα στην Αρχιτεκτονική Μεγάλων Δεδομένων και τις λειτουργίες τους με τον απλούστερο τρόπο.

Εξέλιξη της αποθήκευσης δεδομένων – Infographic

Εξέλιξη της αποθήκευσης δεδομένων – Infographic

Οι μέθοδοι αποθήκευσης των δεδομένων εξελίσσονται μπορεί να είναι από τη γέννηση των Δεδομένων. Αυτό το ιστολόγιο καλύπτει την εξέλιξη της αποθήκευσης δεδομένων με βάση ένα infographic.

6 εκπληκτικά οφέλη από την ύπαρξη έξυπνων οικιακών συσκευών στη ζωή μας

6 εκπληκτικά οφέλη από την ύπαρξη έξυπνων οικιακών συσκευών στη ζωή μας

Σε αυτόν τον ψηφιακό κόσμο, οι έξυπνες οικιακές συσκευές έχουν γίνει κρίσιμο μέρος της ζωής. Ακολουθούν μερικά εκπληκτικά οφέλη των έξυπνων οικιακών συσκευών σχετικά με το πώς κάνουν τη ζωή μας να αξίζει και να απλοποιείται.

Η ενημέρωση του συμπληρώματος macOS Catalina 10.15.4 προκαλεί περισσότερα προβλήματα από την επίλυση

Η ενημέρωση του συμπληρώματος macOS Catalina 10.15.4 προκαλεί περισσότερα προβλήματα από την επίλυση

Πρόσφατα, η Apple κυκλοφόρησε το macOS Catalina 10.15.4 μια συμπληρωματική ενημέρωση για την επιδιόρθωση προβλημάτων, αλλά φαίνεται ότι η ενημέρωση προκαλεί περισσότερα προβλήματα που οδηγούν σε bricking των μηχανών mac. Διαβάστε αυτό το άρθρο για να μάθετε περισσότερα