25 Şubat 2018 Pazar

Sonarqube ile Kod Analizi

      S.a. Arkadaşlar,
      Bugün sonarqube ile statik kod analizi aracını inceleyeceğiz. Sonarqube nedir ,kurulumu nasıl yapılır, nasıl kullanılır soruları üzerinde duracağız. İnternette farklı şekillerde anlatan makaleler var. Burada ise sade ve adım adım anlatmaya çalışacağız. Hatayla karşılaştığımız yerleri de belirteceğiz ki siz de aynı hatalarla karşılaştığınızda kolaylıkla o problemleri aşabilirsiniz.

      Sonarqube nedir ? Öncelikle kod analizi 2'ye ayrılır. Bunlar dinamik ve statik kod analizidir. Dinamik kod analizi run time'de yapılan analizdir. Statik ise kodu derlemeden yapılan analizdir. Sonarqube de  statik kod analizi yapan bir araçtır demiştik. Bu sayede geliştirdiğiniz projede temiz kod konusunda sizi uyarır. Bunun için de her dil için farklı parametreler var.  Resim-1'de bunu inceleyebilirsiniz. Eğer kurarsınız bütün parametreleri de ayrıntılı inceleyebilirsiniz.
Resim-1
         
      Kurulumu nasıl yapılır ? 2 türlü kurulumu mevcuttur. Bunlar server ve local'e kurmak üzere 2'ye ayrılır. Biz local'e kurulum yapacağız. Bunla ilgili birden çok kurulumu anlatan blog var, fakat genelde java ve mysql kurmak eksenli yazılardı. Burada bunlara gerek yok. Sadece Java'nın çalışmasını sağlayacak kurulum yapılması gerekir. O da kolay. Özellikle java 8 yüklerseniz sistem değişkenlerini düzenleme işlemiyle de ilgilenmeyeceksiniz. Çünkü artık bu işi otomatik olarak yapabiliyor. Şimdi adım adım ilerleyelim.
  •   Buradan  son sürmünü indirebilirsiniz. Ben şubat'ta çıkan 7'yi kurdum. Bakalım yıllar içinde hangi sürümü çıkacak :). Sıkıştırılmış dosyayı istediğiniz bir dizine açın.
  •  İndirdiğinizden dizinden \sonarqube-7.0\sonarqube-7.0\bin\windows-x86-32\StartSonar.bat çalıştırın. Bende java 32bit sürümü kurulu olduğu için ben sonarqube'in de 32 bit sürümünü kurdum. Bununla ilgili bir sorun yaşarsanız bu siteye başvurabilirsiniz.
  • Sonarqube hata vermeden kurulursa kullanıcı adı ve şifresi ile giriş yapabilirsiniz. Kullanıcı adı ve şifresi de "admin". Daha sonra kurulum sihirbazı açılmaktadır.(Resim-2) Önce bir token belirliyoruz , 2.aşamada ise projem dilini seçiyorsunuz. Benimki  C# olduğu için onu seçtim ve download linkine tıklayarak yeni bir dosya indiriyorum. Daha sonra bu dosyayı daha önce dosyayı kurduğumuz yere kopyalarsak bizim için rahatlık olur.

                                                                  Resim - 2


  • Daha sonra indirdiğimiz dosyayı sistem değişkenlerinden path'e ekliyoruz. Windows 10'larda zaten yeni deyip kopyalayabilirsiniz. Windows'un eski sürümlerinde araya noktalı virgül koyarak sona eklemeniz gerekmektedir. Ve daha sonra farklı bir cmd ekranı daha açıyoruz. Projemizin olduğu dizine gidiyoruz. cd projenin_projenin_anadizi olarak yazabilirsiniz.Daha sonra 2.resimin altında 3 adet komut bulunmaktadır. İlkini çalıştırdığımızda   projeyi taramış oluyoruz. 
  •  Şimdi de arama ekranından Developer Command Prompt çalıştırıyoruz. Burada yine projemizin dizinine gidiyoruz ve 2.komutu çalışıyoruz. Burada dikkat edilmesi gereken şey projenizin build edebiliyor olmasıdır. Zaten aksi durumda hata alacaksınız. Hata alırsanız önce projenizi build edip tekrar bu komutu çalıştırın
  • 3.komutu çalıştırmak için 2.açtığımız cmd ekranına gelip komutu çalıştırabiliriz. Bu işlemi de başarı ile tamamlarsanız http://localhost:9000/ güncellenecektir ve size projenizin hatalarının olduğu ekranı açacaktır. Projenizin üzerine tıklayarak artık hatalarını görebilir ve değiştirebilirsiniz.
  •  Burada dikkat edilmesi gereken bir nokta sonarqube çalışıyorken Ctrl+C kombinasyonu ile sonlandırmazsanız daha sonra , servislerden java işlemlerini sonlandırmanız gerekmektedir. Aksi halde sonarqube çalışmaya devam edecektir.
      Sadece çalışan değil , verimli ve düzenli kod yazmak dileğiyle. Hoşça kalın.   

    Not: "Missing "server" JVM at `C:\Program Files\Java\jre7\bin\server\jvm­­.dll'. Please install or use the JRE or JDK that contains these missing components" gibi bir hata ile karşılaşırsanız ve bu hatayı jre kurduğunuz halde alıyorsanız yapmanız gerekn şey :
     
    C:\Program Files (x86)\Java\jre1.8.0_151\bin altındaki client klasörünü kopyalarak adını server olarak değiştirmeniz yeterli olacaktır.

Kaynaklar:
https://stackoverflow.com/questions/18123144/missing-server-jvm-java-jre7-bin-server-jvm-dll
https://github.com/SonarOpenCommunity/sonar-cxx/issues/1363
https://fyelci.com/sonar-kurulumu-ve-kullanimi/ -- sonarqube java kurulumu

Hiç yorum yok:

Yorum Gönder