O’ZBEKISTON RESPUBLIKASI AXBOROT TEXNOLOGIYALARI VA
KOMMUNIKATSIYALARINI RIVOJLANTIRISH VAZIRLIGI
MUHAMMAD AL-XORAZMIY NOMIDAGI
TOSHKENT AXBOROT TEXNOLOGIYALARI UNIVERSITETI
Fan Dasturiy vositalar xavfsizligi
12 – AMALIY ISHI
Mavzu: SonarQube ilovasi yordamida statik
testlashni amalga oshirish
Guruh: AXF 712-18
Bajardi: G’ofurov Sh
Tekshirdi: Olimov I
Toshkent–2022
Mavzu: SonarQube ilovasi yordamida statik testlashni amalga oshirish
Ishdan maqsad:
SonarQube dasturidan
foydalansih
ko’nikmasini
shakllantirish, dasturlarni statik testlash qobiliyatini shakllantirish.
Amaliy qism
SonarQube – kodingizdagi potentsial yoki aniq xatolarni tezda aniqlay
oladigan ochiq kod sifatini boshqarish platformasi. Ushbu vositani o’rnatish, sozlash
va foydalanish quyida taqdim etiladi.
Talab qilinadigan ishlar:
1.
JDK (1,8 va undan yuqori)
2.
SonarQube: http://www.sonarqube.org/downloads/
3.
SonarQube+Scanner:
https://sonarsource.bintray.com/Distribution/sonar-
scannercli/sonar-scanner-cli-3.2.0.1227-windows.zip
4.
MySQL ma’lumotlar bazasi (versiya 5.5 dan 8.0 gacha)
I. O’rnatish
1. SonarQube-ni yuklab olgandan so’ng, quti katalogini ochish uchun uni
oching va tegishli operatsion tizim katalogida StartSonar-ni ishga tushiring. Ushbu
amaliy ishda 64 bitli Win tizimidan foydalanish ko’rsatilgandek, oching sonarqube-
7.6\bin\windows-x86-64\StartSonar.bat
2. Brauzeringizni ishga tushiring va http://localhost:9000 ga o’ting. Agar
quyidagi rasm paydo bo’lsa, o’rnatish muvaffaqiyatli bo’ldi.
3. Standart foydalanuvchi nomi va parol: admin / admin
Eslatma. Agar siz sonarqube xizmatini yopmoqchi bo’lsangiz, xizmat oynasi
interfeysida Ctrl + C klaviatura yorliqlarini bosing va rasmda ko’rsatilganidek,
chiqish uchun Y ni kiriting:
Uni to’g’ridan-to’g’ri yopmang, aks holda keyingi safar uni ishga
tushirganingizda quyidagi xato paydo bo’ladi:
Qaror:
Quyidagi tarkibni ko’rganingizda, avval ochilgan sonarbek to’g’ri
yopilmagan va uni ochishingiz kerak bo’lishi mumkin. Vazifa menejeri, Java bilan
bog’liq barcha jarayonlarni tugating, muvaffaqiyat uchun sonarqube-ni qayta ishga
tushiring.
4. SQ tugallandi: https://github.com/SonarQubeCommunity/sonar-l10n-zh
Pastki o’ng burchakda "Mahalliylashtirish" ni kiritish uchun rasmiy hujjatning chap
tomonidagi "Plaginlar" ni bosing. Github manzilini kiritish uchun "Xitoycha"
tugmasini
bosing
(
https://github.com/SonarQubeCommunity/sonar-l10n-zh
).
Tegishli versiya 6.0 6.2 6.2 6.7 6.7 6.7 6.7 Sonar-L10n-zh 1.0 4.1 Sonar-L10-Zh 1.0
Sonar-L10n-zh 1,0 sondar-110-zh 1.0 1.1 1.2 1.3 1.4 1.5 1.6 Tegishli 5.4 versiyasini
koʻrish uchun 1.9 dan sonar-l10n-en talab qilinadi. Tegishli versiyani yuklab olish
uchun relizlar ustiga bosing. Yuklab olingan jarni kengaytmalar\plugins katalogiga
joylashtiring.
Xizmatni qayta ishga tushiring.
http://localhost:9090
saytiga tashrif buyuring
va uning xitoycha versiyasini toping. Bundan tashqari, siz tizimga kirishingiz
mumkin. Tizim va tizim yangilanishini boshqarish plaginini bosing. Siz xitoy
tilidagi plaginni onlayn qidirishingiz va o’rnatishingiz mumkin.
Ikkinchidan, konfiguratsiya boshi
1. MySQL-ni oching va sonarDB deb nomlangan yangi ma’lumotlar bazasini
yarating.
2. SonarQube o’rnatish katalogini fayl sonarqube-7.6\conf\sonar.properties
oching.
3.
MySQL
tuguniga
quyidagi
ma’lumotlarni
kiriting:
sonar.jdbc.url=jdbc:mysql://localhost:3306/sonarDB?useUnicode=true&characterE
ncoding=utf8&rewriteBatchedStatements=true&useConfigs=maxPerformance&us
eSSL=false
sonar.jdbc.username=root
sonar.jdbc.password=root
sonar.sorceEncoding=UTF-8
4. Sonarqube xizmatini qayta ishga tushiring va yana
http://localhost:9000
saytiga tashrif buyuring, bu biroz sekinroq bo’ladi, chunki ma’lumotlar bazasi
ma’lumotlarini ishga tushirish kerak.
5. Ma’lumotlar bazasini muvaffaqiyatli ishga tushirgandan so’ng, tizimga
kiring (standart foydalanuvchi nomi va parol mos ravishda admin / admin).
Uchinchidan, Sonar-Scanner plaginlarini sozlash uchun dastur
1. Rasmiy veb-saytga tashrif buyuring:
https://docs.sonarqube.org/display/SCAN/Analysing+with+SonarQube+Scanner
.
Sonar skaneri plaginini yuklab oling:
2. Sonar-scanner-3.3.0.1492-windows\conf\sonar-scanner.properties faylini
oching.
3.MySQL tuguniga quyidagi ma’lumotlarni kiriting.
sonar.jdbc.url=jdbc:mysql://localhost:3306/sonarDB?useUnicode=true&characterE
ncoding=utf8&rewriteBatchedStatements=true&useConfigs=maxPerformance
sonar.jdbc.username=root
sonar.jdbc.password=root
Eslatma. Agar sinov loyihasi server bilan bir xil mashinada bo’lmasa,
SonarQube serverining IP manzilini qo’shishingiz kerak:
sonar.host.url=http://localhost:90004.
Muhit o’zgaruvchilarini o’rnating.
A. Yangi oʻzgaruvchi yarating, nomi = SONAR_RUNNER_HOME. qiymat
= E: \ Program Files \ sonar-scanner-3.2.0.1227
B. Yo’lni oching va %SONAR_RUNNER_HOME%\bin kiriting;
C
.sonar-scanner - versiya, agar quyidagi xabar paydo bo’lsa, muhit
o’zgaruvchisi muvaffaqiyatli o’rnatildi.
5. Kod tahlili uchun loyihaning ildiz katalogini oching va yangi sonar-
project.properties faylini yarating.
6. Quyidagi ma’lumotlarni kiriting
# must be unique in a given SonarQube instance
sonar.projectKey=my:project
# this is the name displayed in the SonarQube UI
sonar.projectName=hnsi-calc-ybjs-service
sonar.projectVersion=1.0
# Path is relative to the sonar-project.properties file. Replace "\" by "/" on Windows.
# Since SonarQube 4.2, this property is optional if sonar.modules is set.
# If not set, SonarQube starts looking for source code from the directory containing
# the sonar-project.properties file.
sonar.sources=src
sonar.java.binaries=target
sonar.language=java
# Encoding of the source code. Default is default system encoding
sonar.sourceEncoding=UTF-8
Bu yerda: projectName - loyiha nomi, manbalar - manba fayllar joylashgan
katalog, binaries - sinf fayllari joylashgan katalog.
7. Muvaffaqiyatli sozlashdan so’ng sonarqube xizmatini ishga tushiring va
cmd-ni ishga tushiring
8. Cmd-da loyihaning ildiz katalogini kiriting va buyruqni kiriting: sonar-
skaner. Muvaffaqiyatli tahlildan so’ng quyidagi rasm paydo bo’ladi.
9. http://localhost:9000/ ni oching, biz bosh sahifada tahlil loyihasining
sarhisob jadvalini ko’rishimiz mumkin.
10. Loyihani bosing va "Xatolar" ni tanlang, biz muammolar va xatolar
ro’yxatini ko’ramiz:
10. Xatoni tanlang va maxsus kodni ko’rish uchun bosing. Agar siz "+2"
raqamini ko’rsangiz, bu muammoning sababi "1" va muammo "2" bo’lishini
anglatadi. Raqamga mos keladigan kodni toping, tahlil qiling va yaxshilang.
Do'stlaringiz bilan baham: |