Ubuntu 16.04 Üzerinde SonarQube Kurulumu

SonarQube kaliteli sistem geliştirme için açık kaynaklı bir araçtır. Java ile yazılmıştır ve birden çok veritabanını destekler. Kodu sürekli denetleme, uygulamanın sağlığını gösterme ve yeni tanıtılan sorunları vurgulama yetenekleri sağlar. Zor sorunları tespit etmek için donatılmış kod analizörleri içerir. Ayrıca DevOps ile kolayca entegre olur.

Bu yazıda, Ubuntu 16.04'e SonarQube'un en son sürümünü yükleyeceğiz.

Ön şartlar

  • En az 2 GB RAM'e sahip bir Vultr 64 bit Ubuntu 16.04 sunucu örneği.
  • Bir sudo kullanıcısı .

1. Adım: Sistem güncellemesi yapın

Ubuntu sunucusu örneğine herhangi bir paket kurmadan önce, sistemin güncellenmesi önerilir. Sudo kullanıcısını kullanarak oturum açın ve sistemi güncellemek için aşağıdaki komutları çalıştırın.

sudo apt-get update
sudo apt-get -y upgrade

Adım 2: JDK'yı yükleyin

Oracle Java deposunu çalıştırarak sunucuya ekleyin.

sudo add-apt-repository ppa:webupd8team/java
sudo apt-get update

Oracle JDK'yı aşağıdakileri yazarak yükleyin:

sudo apt install oracle-java8-installer

Artık Java sürümünü yazarak kontrol edebilirsiniz:

java -version

Adım 3: PostgreSQL'i kurun ve yapılandırın

PostgreSQL deposunu kurun.

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 -

PostgreSQL veritabanı sunucusunu çalıştırarak kurun:

sudo apt-get -y install postgresql postgresql-contrib

PostgreSQL sunucusunu başlatın ve önyükleme sırasında çalıştırarak otomatik olarak başlamasını sağlayın:

sudo systemctl start postgresql
sudo systemctl enable postgresql

Varsayılan PostgreSQL kullanıcısının parolasını değiştirin.

sudo passwd postgres

postgresKullanıcıya geçin .

su - postgres

Yazarak yeni bir kullanıcı oluşturun:

createuser sonar

PostgreSQL kabuğuna geçin.

psql

SonarQube veritabanı için yeni oluşturulan kullanıcı için bir parola belirleyin.

ALTER USER sonar WITH ENCRYPTED password 'StrongPassword';

PostgreSQL veritabanı için çalıştırarak yeni bir veritabanı oluşturun:

CREATE DATABASE sonar OWNER sonar;

Kabuktan çık psql:

\q

exitKomutu çalıştırarak sudo kullanıcısına geri dönün .

Adım 4: SonarQube'ü indirin ve yapılandırın

SonarQube yükleyici dosyaları arşivini indirin.

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

SonarQube indirme sayfasında uygulamanın en son sürümünün bağlantısını her zaman arayabilirsiniz .

Unzip uygulamasını şu şekilde çalıştırın:

apt-get -y install unzip

Aşağıdaki komutu kullanarak arşivi açın.

sudo unzip sonarqube-6.4.zip -d /opt

Dizini yeniden adlandırın:

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

En sevdiğiniz metin düzenleyicisini kullanarak SonarQube yapılandırma dosyasını açın.

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

Aşağıdaki satırları bulun.

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

Daha önce oluşturduğumuz veritabanının PostgreSQL kullanıcı adını ve şifresini kaldırın ve sağlayın. Şöyle görünmelidir:

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

Ardından, şunu bulun:

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

Çizgiyi açın, dosyayı kaydedin ve düzenleyiciden çıkın.

5. Adım: Systemd hizmetini yapılandırma

SonarQube, yükleyici paketinde sağlanan başlangıç ​​komut dosyası kullanılarak doğrudan başlatılabilir. Kolaylık olması açısından, SonarQube için bir Systemd birim dosyası kurmalısınız.

nano /etc/systemd/system/sonar.service

Dosyayı şununla doldur:

[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

Uygulamayı çalıştırarak başlatın:

sudo systemctl start sonar

SonarQube hizmetinin önyükleme zamanında otomatik olarak başlamasını etkinleştirin.

sudo systemctl enable sonar

Hizmetin çalışıp çalışmadığını kontrol etmek için şunu çalıştırın:

sudo systemctl status sonar

5. Adım: Ters proxy'yi yapılandırın

Varsayılan olarak, SonarQube 9000 numaralı bağlantı noktasında localhost'u dinler. Bu öğreticide, uygulamaya standart HTTP bağlantı noktası üzerinden erişilebilmesi için Apache'yi ters proxy olarak kullanacağız. Apache web sunucusunu çalıştırarak kurun:

sudo apt-get -y install apache2

Etkinleştir mod_proxy.

sudo a2enmod proxy
sudo a2enmod proxy_http

Yeni bir sanal ana bilgisayar oluşturun.

sudo nano /etc/apache2/sites-available/sonar.yourdomain.com.conf

Dosyayı şununla doldur:

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

Sanal ana bilgisayarı etkinleştirin.

sudo a2ensite sonar.yourdomain.com.conf

Apache'yi başlatın ve önyükleme zamanında otomatik olarak başlamasını sağlayın:

sudo systemctl start apache2
sudo systemctl enable apache2

Sunucunuz zaten çalışıyorsa aşağıdakileri kullanarak yeniden başlatın:

sudo systemctl restart apache2

6. Adım: Kurulumu bitirin

SonarQube hizmetini başlatın:

sudo systemctl start sonar

SonarQube sunucunuza kurulur, gösterge tablosuna aşağıdaki adresten erişin.

http://sonar.yourdomain.com

İlk yönetici hesabını kullanarak giriş yapın adminve admin. Artık SonarQube'u yazdığınız kodu sürekli olarak analiz etmek için kullanabilirsiniz.



Leave a Comment

CentOS 7de Tavşan Kümesini Kümeleme

CentOS 7de Tavşan Kümesini Kümeleme

RabbitMQ, AMQP, STOMP ve diğer iletişim teknolojilerini destekleyen açık kaynaklı bir mesaj aracısıdır. Kurumsal uygulamalarda yaygın olarak kullanılan bir

Debianda NFS Paylaşımı Ayarla

Debianda NFS Paylaşımı Ayarla

NFS, bilgisayarların bilgisayar ağı üzerindeki dosyalara erişmesine izin veren ağ tabanlı bir dosya sistemidir. Bu kılavuz, klasörleri NF üzerinden nasıl açığa çıkarabileceğinizi açıklar

GitBucket Ubuntu 16.04 Kurulumu

GitBucket Ubuntu 16.04 Kurulumu

Bu kılavuz, Ubuntu 16.04 çalıştıran bir Vultr örneği için GitBucketin temel kurulumunu ve kurulumunu kapsar ve komutları şu şekilde yürüttüğünüzü varsayar:

Bir Fedora 26 LAMP VPSye Directus 6.4 CMS Yükleme

Bir Fedora 26 LAMP VPSye Directus 6.4 CMS Yükleme

Farklı Bir Sistem mi Kullanıyorsunuz? Directus 6.4 CMS, geliştirici sağlayan güçlü ve esnek, ücretsiz ve açık kaynaklı Başsız İçerik Yönetim Sistemidir (CMS)

Ubuntu 16.04 Üzerine Mattermost 5.2 Kurulumu

Ubuntu 16.04 Üzerine Mattermost 5.2 Kurulumu

Farklı Bir Sistem mi Kullanıyorsunuz? Mattermost, Slack SAAS mesajlaşma servisine açık kaynaklı, kendi kendine barındırılan bir alternatiftir. Başka bir deyişle, Mattermost ile,

Linuxta TeamTalk Sunucusu Kurma

Linuxta TeamTalk Sunucusu Kurma

TeamTalk, kullanıcıların yüksek kaliteli sesli / görüntülü konuşmalara, metin sohbetine, dosya aktarımına ve ekranları paylaşmasına olanak tanıyan bir konferans sistemidir. Ben

Pagekit CMSyi CentOS 7ye Yükleme

Pagekit CMSyi CentOS 7ye Yükleme

Farklı Bir Sistem mi Kullanıyorsunuz? Pagekit PHP ile yazılmış açık kaynaklı bir CMSdir. Pagekit kaynak kodu GitHubda herkese açık olarak barındırılıyor. Bu kılavuz size

Kök olmayan kullanıcılara giriş yapmak için SSH anahtarınızı kullanma

Kök olmayan kullanıcılara giriş yapmak için SSH anahtarınızı kullanma

Vultr, yeni bir örnek oluşturduktan sonra SSH anahtarlarını önceden yüklemenizi sağlayan bir özellik sağlar. Bu, sunucu kök kullanıcısına erişmenizi sağlar, ancak

Debian 9da Diaspora ile Sosyal Ağınızı Kurun

Debian 9da Diaspora ile Sosyal Ağınızı Kurun

Farklı Bir Sistem mi Kullanıyorsunuz? Diaspora gizliliğe duyarlı, açık kaynaklı bir sosyal ağdır. Bu derste, bir Diaspora posının nasıl kurulacağını ve yapılandırılacağını öğreneceksiniz

Debian 9 Üzerinde Yakıt CMS Kurulumu

Debian 9 Üzerinde Yakıt CMS Kurulumu

Farklı Bir Sistem mi Kullanıyorsunuz? Fuel CMS, CodeIgniter tabanlı bir içerik yönetim sistemidir. Kaynak kodu GitHubda barındırılmaktadır. Bu kılavuz size

Arch Linux Üzerinde PostgreSQL 11.1 Kurulumu

Arch Linux Üzerinde PostgreSQL 11.1 Kurulumu

Önkoşullar Güncel Arch Linux çalıştıran bir Vultr sunucusu (bu makaleye bakın.) Sudo erişimi. Kök olarak çalıştırılması gereken komutların önüne # ve bir

Ubuntu 16.10 Üzerinde Snipe-IT Kurulumu

Ubuntu 16.10 Üzerinde Snipe-IT Kurulumu

Farklı Bir Sistem mi Kullanıyorsunuz? Snipe-IT, BT varlık yönetimi için ücretsiz ve açık kaynaklı bir web uygulamasıdır. Laravel 5.2 çerçevesi ve kullanımı üzerine yazılmıştır.

SSL / TLS ile vsFTPd Nasıl Güvenli Hale Getirilir

SSL / TLS ile vsFTPd Nasıl Güvenli Hale Getirilir

Çok Güvenli FTP arka plan programı, ya da sadece vsFTPd, özelleştirme yeteneği olan hafif bir yazılım parçasıdır. Bu derste bir müttefikimiz olacak

Linuxta Ranger Terminal Dosya Yöneticisini Yükleme

Linuxta Ranger Terminal Dosya Yöneticisini Yükleme

Ranger, VI anahtar bağlamaları olan komut satırı tabanlı bir dosya yöneticisidir. Dizin hiyerarşisi manzaralı minimalist ve hoş bir curses arayüzü sağlar

Ubuntu 18.04 LTS Kaynaktan Brotli Nasıl Yapılır

Ubuntu 18.04 LTS Kaynaktan Brotli Nasıl Yapılır

Farklı Bir Sistem mi Kullanıyorsunuz? Brotli, GZIPden daha iyi bir sıkıştırma oranına sahip yeni bir sıkıştırma yöntemidir. Kaynak kodu bu Githuda herkese açık olarak barındırılıyor

CentOS 7de Yalnızca SFTP Kullanıcı Hesaplarını Kurma

CentOS 7de Yalnızca SFTP Kullanıcı Hesaplarını Kurma

Belirli durumlarda, Sistem Yöneticisinin bir kullanıcı hesabı oluşturması ve yalnızca kendi dosyalarını sFTP yoluyla yönetmek için erişimini kısıtlaması gerekebilir, ancak b

Ubuntu 16.04 LAMBA VPS Üzerine Omeka Classic 2.4 CMS Kurulumu

Ubuntu 16.04 LAMBA VPS Üzerine Omeka Classic 2.4 CMS Kurulumu

Farklı Bir Sistem mi Kullanıyorsunuz? Omeka Classic 2.4 CMS, digita paylaşımı için ücretsiz ve açık kaynaklı bir dijital yayıncılık platformu ve İçerik Yönetim Sistemidir (CMS)

Arch Linux Üzerinde Nginx 1.14 Kurulumu

Arch Linux Üzerinde Nginx 1.14 Kurulumu

Önkoşullar Güncel Arch Linux çalıştıran bir Vultr sunucusu (bu makaleye bakın.) Sudo erişimi. Kök olarak çalıştırılması gereken komutların başına # işareti gelir. th

Linuxta SSH ile Kök Girişini Devre Dışı Bırakma veya Kısıtlama

Linuxta SSH ile Kök Girişini Devre Dışı Bırakma veya Kısıtlama

SSH üzerinden kök girişine izin vermek, teknoloji endüstrisinde genellikle zayıf bir güvenlik uygulaması olarak kabul edilir. Bunun yerine, hassas yönetim gerçekleştirebilirsiniz

Ubuntu 16.04 Üzerine RabbitMQ Kurulumu

Ubuntu 16.04 Üzerine RabbitMQ Kurulumu

Farklı Bir Sistem mi Kullanıyorsunuz? RabbitMQ, Erlang programlama dilinde yazılmış, yaygın olarak kullanılan açık kaynaklı bir mesaj aracısıdır. Mesaj odaklı bir ara katman yazılımı olarak

CentOS 7de LibreNMS Kullanarak Cihazlarınızı İzleyin

CentOS 7de LibreNMS Kullanarak Cihazlarınızı İzleyin

CentOS 7 üzerinde LibreNMS kullanarak ağ cihazlarınızı etkili bir şekilde izleyin. Ağ izleme için gerekli adımları ve yapılandırmaları öğrenin.

Counter-Strike: Global Offensive Server Nasıl Kurulur?

Counter-Strike: Global Offensive Server Nasıl Kurulur?

Counter-Strike: Global Offensive sunucusu kurmak için gerekli adımlar. Gerekli araçlar ve yükleme süreci hakkında bilgi.

Ubuntu 16.04 LTS Üzerinde OpenNMS Kurulumu

Ubuntu 16.04 LTS Üzerinde OpenNMS Kurulumu

OpenNMS, çok sayıda cihazı izlemek ve yönetmek için kullanılabilen bir açık kaynak ağ yönetim platformudur. Ubuntu 16.04 LTS üzerinde OpenNMS kurulumu için tüm adımları keşfedin.

Ubuntu 16.04te LibreNMS Kullanarak Cihazlarınızı İzleyin

Ubuntu 16.04te LibreNMS Kullanarak Cihazlarınızı İzleyin

Farklı Bir Sistem mi Kullanıyorsunuz? LibreNMS tam özellikli bir açık kaynak ağ izleme sistemidir.

26 Büyük Veri Analitik Tekniğine Bir Bakış: 1. Bölüm

26 Büyük Veri Analitik Tekniğine Bir Bakış: 1. Bölüm

26 Büyük Veri Analitik Tekniğine Bir Bakış: 1. Bölüm

Nintendo Switch Hakkında Son Derece Çılgın 6 Şey

Nintendo Switch Hakkında Son Derece Çılgın 6 Şey

Birçoğunuz Switch'in Mart 2017'de çıkacağını ve yeni özelliklerini biliyorsunuz. Bilmeyenler için, 'Switch'i 'olmazsa olmaz bir gadget' yapan özelliklerin bir listesini hazırladık.

Hala Teslim Edilmeyen Teknoloji Sözleri

Hala Teslim Edilmeyen Teknoloji Sözleri

Teknoloji devlerinin sözlerini yerine getirmesini mi bekliyorsunuz? teslim edilmeyenleri kontrol edin.

Büyük Veri Referans Mimarisi Katmanlarının İşlevleri

Büyük Veri Referans Mimarisi Katmanlarının İşlevleri

Büyük Veri Mimarisindeki farklı katmanları ve işlevlerini en basit şekilde öğrenmek için blogu okuyun.

Yapay Zeka Süreç Otomasyonunu Nasıl Bir Sonraki Seviyeye Taşıyabilir?

Yapay Zeka Süreç Otomasyonunu Nasıl Bir Sonraki Seviyeye Taşıyabilir?

Yapay Zekanın küçük ölçekli şirketler arasında nasıl popüler hale geldiğini ve onları büyütme ve rakiplerine üstünlük sağlama olasılıklarını nasıl artırdığını öğrenmek için bunu okuyun.

CAPTCHA: İnsan-AI Ayrımı İçin Ne Kadar Geçerli Bir Teknik Kalabilir?

CAPTCHA: İnsan-AI Ayrımı İçin Ne Kadar Geçerli Bir Teknik Kalabilir?

CAPTCHA, son birkaç yılda kullanıcıların çözmesi oldukça zorlaştı. Gelecekte spam ve bot tespitinde etkili kalabilecek mi?