سلام :)
خب توی مقاله قبل به بررسی Sonarqube پرداختیم و امکانات آن را بررسی کردم، میتوانید از لینک زیر آن را مشاهده نمایید
اگر بخواهیم به صورت خلاصه بگیم:
نرم افزار سونار کیوب یا نرم افزار Sonarqube یک ابزار کنترل کننده کیفیت کد است. این برنامه کد نوشته شده را دریافت و تجزیه و تحلیل میکند و گزارشهایی را برای کیفیت کدی که برای برنامهتان نوشتهاید، ارائه میدهد. نحوه عملکرد این نرم افزار به این صورت است که ابزارهای تجزیه و تحلیل استاتیک و پویا را ترکیب میکند و کیفیت را به طور مداوم در طول زمان اندازه گیری مینماید.
برای استفاده از Sonarqube ابتدا نیاز به راه اندازی سرور آن داریم که برای اینکار دو راه داریم دانلود فایل zip و اجرا کردن آن و راه ساده تر استفاده از داکر
برای اینکار کافی است دستور زیر را اجرا کنیم
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 میتوانید لاگین کنید.
برای اینکه بتوانید از این اسکنر در پروژه خود استفاده کنید، باید یک access token از رابط SonarQube ایجاد کنید. بعد از لاگین در تب Projects بر روی Create Project کلیک کنید، یک منو باز می شود
میتوان پروژه local یا پروژه از github و gitlab ایجاد کنید. در این بخش من local را انتخاب میکنم و اطلاعات پروژه را وارد میکنم
بعد از ایجاد پروژه در پنل پروژه بخش Overview بخش "How do you want to analyze your repository?" من Locally را انتخاب میکنم
در این بخش می توانیم token را ایجاد کنیم، زمان Expire شده توکن و یک نام برای آن انتخاب می کنیم
توکن جنریت شده را کپی می کنیم
برای اینکار نیاز هست که یک 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 در داشبورد پروژه، مسائلی را که مختص پروژه مورد نظر است نمایش می دهد: