SonarQube adalah alat sumber terbuka untuk pembangunan sistem yang berkualiti. Ia ditulis dalam Java dan menyokong pelbagai pangkalan data. Ini menyediakan kemampuan untuk memeriksa kod secara berterusan, menunjukkan kesihatan aplikasi, dan menyoroti masalah yang baru diperkenalkan. Ia mengandungi penganalisis kod yang dilengkapi untuk mengesan masalah yang rumit. Ia juga mudah disatukan dengan DevOps.
Dalam tutorial ini, kami akan memasang SonarQube versi terbaru di Ubuntu 16.04.
Prasyarat
- Contoh pelayan Ubuntu 16.04 Vultr 64-bit dengan RAM sekurang-kurangnya 2 GB.
- Pengguna sudo .
Sebelum memasang sebarang pakej pada contoh pelayan Ubuntu, disarankan untuk mengemas kini sistem. Log masuk menggunakan pengguna sudo dan jalankan arahan berikut untuk mengemas kini sistem.
sudo apt-get update
sudo apt-get -y upgrade
Langkah 2: Pasang JDK
Tambahkan repositori Java Oracle pada pelayan dengan menjalankan.
sudo add-apt-repository ppa:webupd8team/java
sudo apt-get update
Pasang Oracle JDK dengan menaip:
sudo apt install oracle-java8-installer
Anda kini boleh memeriksa versi Java dengan mengetik:
java -version
Langkah 3: Pasang dan konfigurasikan PostgreSQL
Pasang repositori 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 -
Pasang pelayan pangkalan data PostgreSQL dengan menjalankan:
sudo apt-get -y install postgresql postgresql-contrib
Mulakan pelayan PostgreSQL dan aktifkan untuk memulakan secara automatik pada waktu boot dengan menjalankan:
sudo systemctl start postgresql
sudo systemctl enable postgresql
Tukar kata laluan untuk pengguna PostgreSQL lalai.
sudo passwd postgres
Beralih kepada postgres
pengguna.
su - postgres
Buat pengguna baru dengan menaip:
createuser sonar
Beralih ke shell PostgreSQL.
psql
Tetapkan kata laluan untuk pengguna yang baru dibuat untuk pangkalan data SonarQube.
ALTER USER sonar WITH ENCRYPTED password 'StrongPassword';
Buat pangkalan data baru untuk pangkalan data PostgreSQL dengan menjalankan:
CREATE DATABASE sonar OWNER sonar;
Keluar dari psql
cengkerang:
\q
Beralih kembali ke pengguna sudo dengan menjalankan exit
perintah.
Muat turun arkib fail pemasang SonarQube.
wget https://sonarsource.bintray.com/Distribution/sonarqube/sonarqube-6.4.zip
Anda sentiasa boleh mencari pautan ke aplikasi versi terbaru di halaman muat turun SonarQube .
Pasang unzip dengan menjalankan:
apt-get -y install unzip
Unzip arkib menggunakan arahan berikut.
sudo unzip sonarqube-6.4.zip -d /opt
Namakan semula direktori:
sudo mv /opt/sonarqube-6.4 /opt/sonarqube
Buka fail konfigurasi SonarQube menggunakan penyunting teks kegemaran anda.
sudo nano /opt/sonarqube/conf/sonar.properties
Cari baris berikut.
#sonar.jdbc.username=
#sonar.jdbc.password=
Tolak dan berikan nama pengguna dan kata laluan PostgreSQL pangkalan data yang telah kami buat sebelumnya. Ia kelihatan seperti:
sonar.jdbc.username=sonar
sonar.jdbc.password=StrongPassword
Seterusnya, cari:
#sonar.jdbc.url=jdbc:postgresql://localhost/sonar
Tanggalkan baris, simpan fail dan keluar dari editor.
SonarQube boleh dimulakan secara langsung menggunakan skrip permulaan yang disediakan dalam pakej pemasang. Untuk kemudahan, anda harus menyediakan fail unit Systemd untuk SonarQube.
nano /etc/systemd/system/sonar.service
Isi fail dengan:
[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
Mulakan aplikasi dengan menjalankan:
sudo systemctl start sonar
Aktifkan perkhidmatan SonarQube untuk bermula secara automatik pada waktu boot.
sudo systemctl enable sonar
Untuk memeriksa sama ada perkhidmatan berjalan, jalankan:
sudo systemctl status sonar
Secara lalai, SonarQube mendengarkan localhost di port 9000. Dalam tutorial ini, kami akan menggunakan Apache sebagai proksi terbalik sehingga aplikasi dapat diakses melalui port HTTP standard. Pasang pelayan web Apache dengan menjalankan:
sudo apt-get -y install apache2
Aktifkan mod_proxy
.
sudo a2enmod proxy
sudo a2enmod proxy_http
Buat tuan rumah maya yang baru.
sudo nano /etc/apache2/sites-available/sonar.yourdomain.com.conf
Isi fail dengan:
<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>
Dayakan hos maya.
sudo a2ensite sonar.yourdomain.com.conf
Mulakan Apache dan aktifkan secara automatik pada waktu boot:
sudo systemctl start apache2
sudo systemctl enable apache2
Sekiranya pelayan anda sudah berjalan, mulakan semula menggunakan:
sudo systemctl restart apache2
Langkah 6: Selesaikan pemasangan
Mulakan perkhidmatan SonarQube:
sudo systemctl start sonar
SonarQube dipasang di pelayan anda, akses papan pemuka di alamat berikut.
http://sonar.yourdomain.com
Log masuk menggunakan akaun pentadbir permulaan, admin
dan admin
. Anda kini boleh menggunakan SonarQube untuk terus menerus menganalisis kod yang telah anda tulis.