Run SonarQube Locally — .Net

Run SonarQube Locally — .Net

May 08, 2021

The article describes how to analyze C# code quality using the SonarQube command line.

Prerequisites

  1. Download the SonarQube free Community Edition

  2. SonarQube scanners require version 8/11 of the JVM, and the SonarQube requires version 11

  3. Install PostgreSQL for demonstration, but it also supports MSSQL and Oracle databases.

  4. For the .Net Core 2+ version, download SonarQube Scanner.

  5. For the .Net Framework version, download SonarQube Scanner.

Getting Started

Following steps to configure & run C# code analysis using SonarQube for .Net Core applications. Unzip folders(prerequisites in points 1 and 4) into a directory.

Configure User: Follow the below commands to configure a database & user in the PostgresSQL database.

#Create DB CREATE DATABASE sonar;

#Create a user in DB with a password CREATE USER sonar WITH PASSWORD '<password>';

#Grant, all permissions to that user GRANT ALL PRIVILEGES ON DATABASE sonar TO sonar;

Update SonarQube Configuration: Go to SonarQube Community edition unzipped folder, open the config file in the following path “..\conf\sonar.properties.

  • Uncomment and add the username and password created above in the config file.

  • Add JDBC Postgres URL as shown in the screenshot below.

sonar.jdbc.url=jdbc:postgresql://localhost:5432/sonar

After configuration, now SonarQube will use PostgresSQL to save reports or logs locally.

Run SonarQube: Go to SonarQube Community edition unzipped folder, run the following bat file “..\sonarqube-8.8.0.42792\bin\windows-x86–64\StartSonar.bat” in “Admin” mode.

Once the SonarQube server is UP, a client application will be available on the browser at the following URL

http://localhost:9000

Project Creation SonarQube

  1. Add a new project.

2. Add project details as shown below

3. Create a unique token

As a prerequisite, analysis requires a sonar scanner tool installed globally using the following command:

dotnet tool install --global dotnet-sonarscanner

Execute the Scanner (.Net Core): Running a SonarQube analysis is straightforward. Need to execute the following commands at the root of your solution.

dotnet sonarscanner begin /k:"demo" /d:sonar.host.url="http://localhost:9000" /d:sonar.login="ce4c4c9c407be98e8150822abbfe017b8c576848"

dotnet build

dotnet sonarscanner end /d:sonar.login="ce4c4c9c407be98e8150822abbfe017b8c576848"

Execute the Scanner (.Net Framework): Running a SonarQube analysis is straightforward. Need to execute the following commands at the root of your solution.

SonarScanner.MSBuild.exe begin /k:"demo" /d:sonar.host.url="http://localhost:9000" /d:sonar.login="43ca541c658f2f5f856e1b2a707c122b21c02ac1"

MsBuild.exe /t:Rebuild

SonarScanner.MSBuild.exe end /d:sonar.login="43ca541c658f2f5f856e1b2a707c122b21c02ac1"

Sample Report


Thank you for reading and hope you liked the article. Follow me on LinkedIn Instagram Facebook Twitter

¿Te gusta esta publicación?

Comprar Sukhpinder Singh un café

More from Sukhpinder Singh