محمد صادق شیخ زاهدی
محمد صادق شیخ زاهدی
خواندن ۳ دقیقه·۶ ماه پیش

آنالیز کدهای SpringBoot با استفاده از Sonarqube

سلام :)

خب توی مقاله قبل به بررسی Sonarqube پرداختیم و امکانات آن را بررسی کردم، میتوانید از لینک زیر آن را مشاهده نمایید

https://virgool.io/@m.s.sheikhzahedi/%D8%A8%D8%B1%D8%B3%DB%8C-%D9%86%D8%B1%D9%85-%D8%A7%D9%81%D8%B2%D8%A7%D8%B1-sonarqube-%D8%AA%D8%AC%D8%B2%DB%8C%D9%87-%D9%88-%D8%AA%D8%AD%D9%84%DB%8C%D9%84-%DA%A9%D8%AF%D9%87%D8%A7-%D9%88-%D9%BE%D8%B1%D9%88%DA%98%D9%87-nyhomnltrhzh

اگر بخواهیم به صورت خلاصه بگیم:

نرم افزار سونار کیوب یا نرم افزار  Sonarqube یک ابزار کنترل کننده کیفیت کد است. این برنامه کد نوشته شده را دریافت و تجزیه و تحلیل می‌کند و گزارش‌هایی را برای کیفیت کدی که برای برنامه‌تان نوشته‌اید، ارائه می‌دهد. نحوه عملکرد این نرم افزار به این صورت است که ابزارهای تجزیه و تحلیل استاتیک و پویا را ترکیب می‌کند و کیفیت را به طور مداوم در طول زمان اندازه گیری می‌نماید.

برای استفاده از Sonarqube ابتدا نیاز به راه اندازی سرور آن داریم که برای اینکار دو راه داریم دانلود فایل zip و اجرا کردن آن و راه ساده تر استفاده از داکر

راه اندازی Sonarqube در داکر

برای اینکار کافی است دستور زیر را اجرا کنیم

docker run -d --name sonarqube -e SONAR_ES_BOOTSTRAP_CHECKS_DISABLE=true -p 9000:9000 sonarqube:latest

جهت فرار از تح*ریم میتوانید بجای است ایمیج از docker.arvancloud.ir/sonarqube:latest استفاده کنید.

بعد از اجرا دستور بالا سرور sonarqube روی آدرس http://localhost:9000 قابل مشاهده است و با یوزر admin و پسورد admin میتوانید لاگین کنید.

تولید Token

برای اینکه بتوانید از این اسکنر در پروژه خود استفاده کنید، باید یک access token از رابط SonarQube ایجاد کنید. بعد از لاگین در تب Projects بر روی Create Project کلیک کنید، یک منو باز می شود

میتوان پروژه local یا پروژه از github و gitlab ایجاد کنید. در این بخش من local را انتخاب میکنم و اطلاعات پروژه را وارد میکنم

بعد از ایجاد پروژه در پنل پروژه بخش Overview بخش "How do you want to analyze your repository?" من Locally را انتخاب میکنم

در این بخش می توانیم token را ایجاد کنیم، زمان Expire شده توکن و یک نام برای آن انتخاب می کنیم

توکن جنریت شده را کپی می کنیم

افزودن SonarQube به SpringBoot

برای اینکار نیاز هست که یک plugin به pom.xml پروژه اضافه کنیم

<build> <pluginManagement> <plugins> <plugin> <groupId>org.sonarsource.scanner.maven</groupId> <artifactId>sonar-maven-plugin</artifactId> <version>3.11.0.3922</version> </plugin> </plugins> </pluginManagement> </build>

آخرین ورژن این پلاگین میتوانید از این لینک مشاهده کنید.

حال می توانیم با استفاده از دستور زیر اسکل پروژه را شروع کنیم:

./mvnw clean verify sonar:sonar -Dsonar.projectKey=PROJECT_KEY -Dsonar.projectName='PROJECT_NAME' -Dsonar.host.url=http://localhost:9000 -Dsonar.token=THE_GENERATED_TOKEN

* نیاز هست که اطلاعات خود را بجای project_key, project_name , the-generated-token قرار دهید.

جهت افزودن تنظیمات Sonarqube نیاز است یک فایل به نام sonar-project.properties در root پروژه ایجاد کنیم و تنظیمات داخل آن قرار می دهیم

sonar.projectKey=my-spring-project sonar.projectName=My Spring Project sonar.host.url=http://localhost:9000 sonar.token=THE_GENERATED_TOKEN

حال فقط نیاز به اجرای دستور زیر است

./mvnw clean verify sonar:sonar

بعد از اجرای دستور میتوان نتایج اسکن و آنالیز پروژه را در داشبورد پروژه ها در آدرس http://localhost:9000 مشاهده کرد

مشکلات کشف شده می تواند Bug, Vulnerability, Code Smell, Coverage یا Duplication باشد. هر دسته دارای تعداد متناظر یا مقدار درصدی است.

با کلیک بر روی نام پروژه ما را به داشبورد اختصاصی می‌برد که در آن می‌توانیم مسائل خاص پروژه را با جزئیات بیشتر بررسی کنیم.

برگه Issues در داشبورد پروژه، مسائلی را که مختص پروژه مورد نظر است نمایش می دهد:

آنالیز کدهای SpringBootآنالیز کد پروژهsonarqubeستفاده از Sonarqubeآنالیز کدهای SpringBoot با استفاده از Sonarqube
شاید از این پست‌ها خوشتان بیاید