Sonarqube Kurulumu ve ASP. Net Kod Analizi

Hemen hemen hepimiz bir yazılım projesinde yer alıyoruz.Birçok kod yazıyoruz. Ve kodlarımızın kalite standartlarına , güvenlik standartlarına uygun olmasına gayret gösteriyoruz ama bazen yazdığımız kodların içinde kaybolup yaptığımız hataların farkına varamıyoruz. Ne vakit başka bir göz kodlarımıza baktı o vakit hatalarımız ortaya çıkıyor. İşte bu yazıda o başka bir göz konumunda olan bir programdan bahsedeceğiz , Sonarqube .

Sonarqube nedir ?

         Yukarıda da bahsettiğimiz gibi bir göz aslında , yazdığımız kodları tarayıp analiz ediyor ve daha sonrada bize kodumuzun kalite ve güvenlik seviyesini ölçen bir rapor sunuyor.Bu raporda kodlarımızı içindeki açıkları , güvenlik açığı oluşturabilecek noktaları , kodumuzdaki karmaşık kısımları, tekrar eden kısımları gibi birçok noktayı bize gösteriyor.Daha da önemlisi bu sorun teşkil edecek kısımları nasıl düzeltebileceğimiz noktasında bize çözümler sunuyor.

Şimdi isterseniz sonarqube programını kuralım ve ufak bir projeyi analiz edelim.

İlk olarak sonarqube ün sitesine gidip programımızı indirelim.

https://www.sonarqube.org/downloads/

İki farklı sürümümüz var birsi community diğeri Developer. Biz ücretsiz olanı yani community sürümünü indiriyoruz. Ve bir tane zip dosyası iniyor. Dosyalarımızı zipten çıkartıyoruz.Daha sonra bin klasörünün içine giriyoruz.

Burada birkaç farklı işletim sitemini görüyoruz , biz windows üzerine kurulum yapacağımız için windows-x86-64 klasörüne giriyoruz.

Programı çalıştırmak için StartSonar.bat dosyasını çalıştırmamız gerekiyor ama daha öncesinde programı çalıştırabilmek için bilgisayarımızda bazı ortamların kurulu olması gerekiyor.Bunlar sonarqube nin sitesine de belirtilmiştir.

https://docs.sonarqube.org/latest/requirements/requirements/

Bize diyor ki bilgisayarında Java(JRE 11 veya OpenJDK11) yüklü olması gerekiyor. Hemen javanın sitesine gidip  OpenJDK11 i indiriyoruz ve kuruyoruz.

https://www.oracle.com/technetwork/java/javase/downloads/jdk11-downloads-5066655.html

Java nın kurulumunu yaptıktan sonra StartSonar.bat dosyasını çalıştırıyoruz.

Eğer çalıştırdıktan sonra bu şekilde bir hatayla karşılaşırsak sonarqube javanın yüklü olduğu klasörü bulamıyor demektir.

Bu hatayı düzeltmek için path ayarı yapmamız gerekiyor.

Öncelikle javanın yüklü olduğu yeri buluyorum . Benim bilgisayarımda “C:\Program Files\Java\jdk-11.0.5” klasörüne yüklemiş, varsayılanda buraya yükler ama siz başka bir yere yüklemiş iseniz orayı bulmanız gerekiyor. Şimdi indirdiğimiz sonarqube klasörüne geliyoruz ve conf klasörüne giriyoruz.

Burada karşımıza 2 adet dosya çıkıyor.

Buradaki “wrapper.java.command” kısmına javanın yüklü olduğu adresi vereceğiz.

wrapper.java.command=C:\Program Files\Java\jdk-11.0.5\bin\java” .

Dosyamızı bu şekilde değiştirip kaydediyoruz. Ve daha sonra tekrar gelip StartSonar.bat dosyasını çalıştırıyoruz. Ve sonarqube ayağa kalkıyor. Tarayıcımıza gelip http://localhost:9000 yazdığımız zaman sonarqube arayüzü karşımıza geliyor. 

Evet sonarqube hazır. Gelin şimdi bir asp.net projesini uygulamamız ile analiz edelim.

Öncelikle uygulamamıza giriş yapalım . Varsayılan olarak gelen kullanıcı adı ve şifre:

Kullanıcı adı : admin

Şifre              : admin

Project sekmesine geliyoruz ve create new project diyoruz.

Bizden project key soruyor buraya projenizin tanımlayan benzersiz bir isim yazmalısınız. Display Name kısmında projenizin ismini yazmalısınız.

Setup Diyoruz ve devam ediyoruz. Şimdi ise bizden bir token üretmemiz isteniyor. Buraya da bir anahtar kelime girmeniz isteniyor token üretmek için herhangi bir kelime girebilirsiniz.

Generate diyoruz ve tokenımızı üretiyor. Daha sonra continue diyoruz.Gelen ekranda proje mizin hangi dille yazıldığı soruluyor.

Projemiz Asp.Net projesi olduğu için C# or VB.NET kısmını seçiyoruz. Evet şimdi gelen ekranda öncelikle bizden bir Scanner Modülü indirmemizi istiyor. Hemen Download a tıklıyoruz.Karşımıza bir indirme sayfası geliyor.

Bizim projemiz .Net Framework ile çalıştığı için .Net Framework 4.6+ seçeneğini tılıyoruz.Ve bir zip dosyası iniyor. Hemen gidiyor C nin altına sonar-scanner adında bir klasör oluşturuyoruz ve indirdiğimiz zip dosyasının içindeki dosyaları buraya kopyalıyoruz. Tabi bunu yaptıktan sonra bir path ayarı daha yapmamız gerekecek. Bunun için şu yolu izliyoruz.  Denetim Masası > Sistem ve Güvenlik> Sistem > Gelişmiş Sistem Ayarları > Ortam Değişkenleri diyoruz açılan ekrandaki Değişkenler kısmındaki path ögesine tıklayıp düzenle diyoruz açılan ekranda tekrar yeni kısmına tıklıyor ve adresimizi yapıştırıyoruz.Tamam deyip çıkıyoruz.

Şimdi her şeyimiz hazır. Tekrar tarayıcımızdaki sonarqube ekranına geliyoruz. Burda bize taramayı nasıl yapacağımız anlatıyor.

Burada bize diyor ki şimdi projenin bulunduğu klasöre git ve aşağıda sana verdiğim komutları çalıştır. Hemen yapıyoruz.CMD yi açıp projenin bulunduğu klasöre geliyor ve komutlarımız sırası ile çalıştırıyoruz. Birinci komut başarı ile çalıştı fakat ikinci komutta bir hata aldık.

Bunun sebebi ise bilgisayarımız MsBuild.exe nin yolunu bulamıyor. Bunu iki şekilde çözebiliriz birincisi biraz önce yaptığımız gibi path ayarı yapmak. İkincisi ise komutu MsBuild.exe nin yolu ile birlikte çalıştırmak. İsterseniz ikinci yöntemi deneyelim onu da görmüş olalım. Hemen gidip  MsBuild.exe nin bulunduğu klasörü buluyorum.

C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\MSBuild\15.0\Bin

Şimdi ikinci komutun başına bu yolu ekleyerek çalıştıracağım. Tabi burada dikkat etmemiz gereken bir ayrıntı var “Program Files (x86)” ,”Microsoft Visual Studio” gibi dosya isimleri birden fazla kelimden oluştuğu ve aralarında boşluk olduğu için Komut ekranımız onları birer parametre gibi algılayıp hata verecektir. Bunu önüne geçmek için çift tırnak kullanacağız.

Son komutumuzu da çalıştırdıktan sonra projemiz analiz edilmiş olacak. Sonuçları görmek için tarayıcımızdan sonarqube erkanına geliyoruz, projects kısmına gelip projemize tıklıyoruz ve sonuçlarımızı görüyoruz.

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir