Menyebarkan Server SonarQube

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


penggunakata sandiIPPlatform
adminpass123192.168.0.15Ubuntu Linux

Basis data Sonar [SonarDB]: 8 core, 16GB RAM, 20Gb + 50Gb (/ opt) ruang disk


penggunakata sandiIPPlatform
adminpass123192.168.0.16Linux Debian

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 

  • Saya punya masalah dengan lokal setelah menambahkan postgres ke sistem. Metode Solusi (Solusi di /etc/default/locale ):
     $ sudo locale-gen en_US.UTF-8 $ sudo localedef -i en_US -f UTF-8 en_US.UTF-8 $ export LANGUAGE=en_US.UTF-8 $ export LANG=en_US.UTF-8 $ export LC_ALL=en_US.UTF-8 $ sudo locale-gen en_US.UTF-8 $ sudo dpkg-reconfigure locales 

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 ### CTRL + W ### -> listen_addresses = '*' $ sudo systemctl restart postgresql 

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 ### CTRL + Z ### -> exit from psql ### exit ### 

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 # or $ /usr/lib/postgresql/10/bin/pg_ctl stop -D /var/lib/postgresql/10/main 

Ubah direktori data.


 $ psql 

 # show data_directory; /var/lib/postgresql/10/main 

 $ 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 # change location for new data_directory. data_directory = '/opt/sonardb/postgresql/10/main' listen_addresses = '*' 

Ubah cek


 $ sudo -u postgres psql 

 # show data_directory; ______________________ /opt/sonardb/postgresql/10/main # \q 

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 dan konfigurasikan SonarQube


Unduh arsip file pemasang SonarQube.


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

Instal unzip dengan menjalankan:


 # apt-get -y install unzip 

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 # sonar.jdbc.url=jdbc:postgresql://localhost/username sonar.jdbc.url=jdbc:postgresql://192.168.0.16/sonar sonar.web.javaAdditionalOpts=-server 

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:


penggunakata sandi
adminadmin

Source: https://habr.com/ru/post/id474140/


All Articles