Hai, habrozhiteli!
Dalam panduan ini saya ingin menetapkan pengaturan langkah demi langkah untuk menggunakan platform untuk analisis dan pengukuran kualitas kode yang berkelanjutan. Ada banyak artikel serupa di jaringan, tetapi saya hanya ingin menyoroti hal utama, sehingga semua pendatang baru dapat menanganinya pertama kali. Kami akan SonarQube 7.9
dengan PostgreSQL 10
.
Anda sudah mempelajari wiki, bukan?
Dan sebelum kita mulai
Saya ingin Anda memutuskan versi mana yang akan diterapkan, karena dengan setiap pembaruan semakin banyak plugin yang dibayar, yang, tentu saja, akan memengaruhi biaya atau fungsi keuangan.
Secara umum - ikuti tautan ini dan buktikan sendiri: matriks versi plugin .
Menurut dokumentasi: direkomendasikan untuk menjaga server dan database pada mesin yang berbeda . Namun di kotak pasir Anda juga bisa melatihnya.
Jika Anda memiliki Ubuntu dan 2 server
Jika Anda memutuskan untuk mengikuti jalur rekomendasi dan agar tidak repot dengan membuat dua mesin virtual, buat satu - Anda dapat mengubah nama dan ip server kedua dengan mudah dan cukup menggunakan perintah ini:
::: ubah nama host :::
$ hostnamectl set-hostname sonarapp sudo nano /etc/hostname sudo nano /etc/hosts
::: ubah ip ubuntu :::
sudo nano /etc/netplan/01-eth0.yaml
Di sana, cari baris yang familier dan ubah parameter nama mesin dan alamat IP.
Dan apa yang harus terjadi :
Server aplikasi Sonar [SonarApp]: 8 core, 16GB RAM, 20Gb + 50Gb (/ opt) ruang disk
Basis data Sonar [SonarDB]: 8 core, 16GB RAM, 20Gb + 50Gb (/ opt) ruang disk
1. Saya sarankan memulai dengan database
Masuk di bawah admin kami yang baik di 192.168.0.16 (SonarDB). Sangat penting bahwa Anda TIDAK dijalankan sebagai root.
Pastikan PostgreSQL diinstal pada sistem. Ada banyak opsi, tetapi cobalah yang paling sederhana:
$ which psql $ psql -V $ find / -name 'postgres'
lihat paket mana yang diunduh ke sistem:
$ dpkg -l | grep postgres
Jika tidak ada yang ditemukan, periksa apakah PostgreSQL 10 ada di repositori:
$ sudo apt-cache search postgresql-10
Dokumentasi instalasi PostgreSQL resmi: tautan . Tetapi jika dalam urutan:
$ wget -q https://www.postgresql.org/media/keys/ACCC4CF8.asc -O- | sudo apt-key add - $ sudo sh -c 'echo "deb http://apt.postgresql.org/pub/repos/apt $(lsb_release -cs)-pgdg main" > /etc/apt/sources.list.d/postgresql.list' $ sudo apt-get update $ sudo apt-get install postgresql-10 pgadmin4
Perintah dpkg-reconfigure locales akan membuka kotak dialog di bawah Debian untuk memilih lokal yang diinginkan. Pilih en_US.UTF-8
.
Luncurkan!
$ sudo systemctl start postgresql $ sudo systemctl status postgresql $ sudo nano /etc/postgresql/10/main/postgresql.conf
Periksa apakah instalasi berhasil:
$ sudo apt-get install -y net-tools $ sudo netstat -antup | grep 5432 $ dpkg --get-selections |grep postgres $ pg_lsclusters
Selamat! Lanjutkan. :)
sudo su -l postgres psql
Ubah kata sandi untuk pengguna PostgreSQL default
$ sudo passwd postgres
Beralih ke pengguna postgres.
$ su - postgres
Beralih ke shell PostgreSQL.
$ psql
Konfigurasi dasar PostgreSQL
Tetapkan kata sandi untuk pengguna yang baru dibuat untuk basis data SonarQube.
CREATE ROLE sonar WITH PASSWORD 'sonar'; SELECT rolname FROM pg_roles; alter role sonar login; SELECT pg_reload_conf(); Create a new database for PostgreSQL database by running: create database sonar owner sonar;
Keluar dari shell psql:
'\q'
Migrasi Basis Data PostgreSQL
Hentikan layanan PostgreSQL
$ service postgresql stop
Ubah direktori data.
$ psql
$ sudo rsync -av /var/lib/postgresql /opt/sonardb $ sudo mv /var/lib/postgresql/*/main /var/lib/postgresql/*/main.bak $ sudo nano /etc/postgresql/*/main/postgresql.conf
Ubah cek
$ sudo -u postgres psql
Dan juga perlu memeriksa parameter sistem. Mereka dapat ditambahkan ke file /etc/sysctl.conf
(atau /etc/sysctl.d/99-sonarqube.conf
) atau dimasukkan di terminal:
sysctl -w vm.max_map_count=262144 sysctl -w fs.file-max=65536 ulimit -n 65536 ulimit -u 4096
2. Dan sekarang kita akan terlibat dalam server aplikasi SonarQube
Masuk di bawah admin kami yang baik di 192.168.0.15 (SonarApp). Penting juga bahwa BUKAN root.
Baris-baris yang dimulai dengan $ character adalah input terminal, dan sisanya adalah apa yang akan kami edit dalam file atau apa yang harus diterima pada output (output informasi)
SonarQube membutuhkan JAVA untuk bekerja. Ambil OpenJDK
Instal open-jdk11
$ sudo apt-get install openjdk-11-jdk
ubah java PATH
$ nano ~/.bash_profile export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64/bin/java export PATH=/usr/lib/jvm/java-11-openjdk-amd64/bin:$PATH
Pastikan JAVA telah berhasil ditambahkan ke sistem :
$ java -version
Unduh arsip file pemasang SonarQube.
$ wget https://binaries.sonarsource.com/Distribution/sonarqube/sonarqube-7.9.1.zip
Instal unzip dengan menjalankan:
Buka zip arsip dengan menggunakan perintah berikut
$ sudo unzip sonarqube-7.9.1.zip -d /opt
Ganti nama direktori
$ sudo mv /opt/sonarqube-7.9.1 /opt/sonarqube
Tambahkan Pengguna dan Keistimewaan Sonar
Pelajari lebih lanjut tentang manajemen pengguna di Unix .
Buat pengguna bernama sonar dan jadikan pemilik /opt/sonarqubedirectory
$ sudo adduser sonar $ sudo passwd sonar $ sudo chown -R sonar:sonar /opt/sonarqube
dapatkan daftar pengguna dalam sistem:
$ cut -d: -f1 /etc/passwd
Apa grup pengguna baru Anda di:
$ groups sonar
Lanjutan mengkonfigurasi SonarQube
$ sudo nano /opt/sonarqube/conf/sonar.properties
sonar.jdbc.username=sonar sonar.jdbc.password=sonar sonar.web.host=192.168.0.15
Buat file /etc/systemd/system/sonarqube.service
dan lewati konten berikut ini ke file
[Unit] Description=SonarQube service After=syslog.target network.target [Service] Type=simple User=sonar Group=sonar PermissionsStartOnly=true ExecStart=/bin/nohup java -Xms32m -Xmx32m -Djava.net.preferIPv4Stack=true -jar /opt/sonarqube/lib/sonar-application-7.9.1.jar StandardOutput=syslog LimitNOFILE=65536 LimitNPROC=8192 TimeoutStartSec=5 Restart=always [Install] WantedBy=multi-user.target
Mulai dan aktifkan sonarqube
$ sudo systemctl start sonarqube $ sudo systemctl enable sonarqube
Untuk memeriksa apakah layanan ini berjalan, jalankan:
$ sudo systemctl status sonarqube
Log:
tail -f /opt/sonarqube/logs/sonar.log
Untuk memeriksa ketersediaan database, sambungkan ke 192.168.0.15 dan ketik:
$ psql -h 192.168.0.16 -p 5432 -U sonar
Itu saja. Untuk memastikan semuanya bekerja, buka browser (pastikan bahwa jaringan 192.168.XX dapat diakses dari Anda atau gunakan tautan).
Kami akan menghubungi 192.168.0.15:9000 dan Anda akan disambut oleh jendela otorisasi.
Data Pengguna Admin Primer Standar SonarQube: