SonarQube è uno strumento open source per lo sviluppo di sistemi di qualità. È scritto in Java e supporta più database. Offre funzionalità per ispezionare continuamente il codice, mostrare lo stato di un'applicazione ed evidenziare i problemi appena introdotti. Contiene analizzatori di codice che sono attrezzati per rilevare problemi complessi. Si integra facilmente anche con DevOps.
In questo tutorial, installeremo l'ultima versione di SonarQube su Ubuntu 16.04.
Prerequisiti
- Un'istanza del server Ubuntu 16.04 a 64 bit Vultr con almeno 2 GB di RAM.
- Un utente sudo .
Prima di installare eventuali pacchetti sull'istanza del server Ubuntu, si consiglia di aggiornare il sistema. Accedi usando l'utente sudo ed esegui i seguenti comandi per aggiornare il sistema.
sudo apt-get update
sudo apt-get -y upgrade
Passaggio 2: installare JDK
Aggiungere il repository Oracle Java sul server eseguendo.
sudo add-apt-repository ppa:webupd8team/java
sudo apt-get update
Installa Oracle JDK digitando:
sudo apt install oracle-java8-installer
Ora puoi controllare la versione di Java digitando:
java -version
Passaggio 3: installare e configurare PostgreSQL
Installa il repository PostgreSQL.
sudo sh -c 'echo "deb http://apt.postgresql.org/pub/repos/apt/ `lsb_release -cs`-pgdg main" >> /etc/apt/sources.list.d/pgdg.list'
wget -q https://www.postgresql.org/media/keys/ACCC4CF8.asc -O - | sudo apt-key add -
Installa il server di database PostgreSQL eseguendo:
sudo apt-get -y install postgresql postgresql-contrib
Avviare il server PostgreSQL e abilitarlo ad avviarsi automaticamente all'avvio eseguendo:
sudo systemctl start postgresql
sudo systemctl enable postgresql
Cambia la password per l'utente PostgreSQL predefinito.
sudo passwd postgres
Passa postgres
all'utente.
su - postgres
Crea un nuovo utente digitando:
createuser sonar
Passa alla shell PostgreSQL.
psql
Impostare una password per l'utente appena creato per il database SonarQube.
ALTER USER sonar WITH ENCRYPTED password 'StrongPassword';
Crea un nuovo database per il database PostgreSQL eseguendo:
CREATE DATABASE sonar OWNER sonar;
Esci dalla psql
shell:
\q
Torna all'utente sudo eseguendo il exit
comando.
Scarica l'archivio dei file di installazione di SonarQube.
wget https://sonarsource.bintray.com/Distribution/sonarqube/sonarqube-6.4.zip
Puoi sempre cercare il link all'ultima versione dell'applicazione nella pagina di download di SonarQube .
Installa decomprimere eseguendo:
apt-get -y install unzip
Decomprimi l'archivio usando il seguente comando.
sudo unzip sonarqube-6.4.zip -d /opt
Rinomina la directory:
sudo mv /opt/sonarqube-6.4 /opt/sonarqube
Apri il file di configurazione SonarQube usando il tuo editor di testo preferito.
sudo nano /opt/sonarqube/conf/sonar.properties
Trova le seguenti righe.
#sonar.jdbc.username=
#sonar.jdbc.password=
Rimuovi il commento e fornisci il nome utente e la password PostgreSQL del database che abbiamo creato in precedenza. Dovrebbe apparire come:
sonar.jdbc.username=sonar
sonar.jdbc.password=StrongPassword
Quindi, trova:
#sonar.jdbc.url=jdbc:postgresql://localhost/sonar
Rimuovi il commento dalla riga, salva il file ed esce dall'editor.
SonarQube può essere avviato direttamente utilizzando lo script di avvio fornito nel pacchetto di installazione. Per comodità, è necessario impostare un file di unità Systemd per SonarQube.
nano /etc/systemd/system/sonar.service
Popolare il file con:
[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
Avviare l'applicazione eseguendo:
sudo systemctl start sonar
Abilitare il servizio SonarQube per l'avvio automatico all'avvio.
sudo systemctl enable sonar
Per verificare se il servizio è in esecuzione, eseguire:
sudo systemctl status sonar
Per impostazione predefinita, SonarQube ascolta localhost sulla porta 9000. In questa esercitazione, useremo Apache come proxy inverso in modo che sia possibile accedere all'applicazione tramite la porta HTTP standard. Installa il web server Apache eseguendo:
sudo apt-get -y install apache2
Attiva mod_proxy
.
sudo a2enmod proxy
sudo a2enmod proxy_http
Crea un nuovo host virtuale.
sudo nano /etc/apache2/sites-available/sonar.yourdomain.com.conf
Popolare il file con:
<VirtualHost *:80>
ServerName sonar.yourdomain.com
ServerAdmin [email protected]
ProxyPreserveHost On
ProxyPass / http://localhost:9000/
ProxyPassReverse / http://localhost:9000/
TransferLog /var/log/apache2/sonar.yourdomain.com_access.log
ErrorLog /var/log/apache2/sonar.yourdomain.com_error.log
</VirtualHost>
Abilita l'host virtuale.
sudo a2ensite sonar.yourdomain.com.conf
Avvia Apache e abilita l'avvio automatico all'avvio:
sudo systemctl start apache2
sudo systemctl enable apache2
Se il tuo server è già in esecuzione, riavvialo usando:
sudo systemctl restart apache2
Passaggio 6: terminare l'installazione
Avviare il servizio SonarQube:
sudo systemctl start sonar
SonarQube è installato sul tuo server, accedi alla dashboard al seguente indirizzo.
http://sonar.yourdomain.com
Accedere utilizzando l'account amministratore iniziale admin
e admin
. Ora puoi usare SonarQube per analizzare continuamente il codice che hai scritto.