SonarQube Tutorial

SonarQube Tutorial explains about how to install /configure SonarQube server for continuous integration and improving code quality.

SonarQube (previously known as Sonar) is an open source platform for Continuous Inspection of code quality. It is written in java and supported for 25+ languages such as Java, C/C++, C#, PHP, Flex, Groovy, JavaScript, Python, PL/SQL, COBOL, etc, it is also used for Android Development

It helps for various tasks and provide reports on duplicated code, coding standards, unit tests, code coverage, complex code, potential bugs, comments and design and architecture.

SonarQube is internally using PMD,Findbugs,CheckStyle etc. You can add additionally plugins according to your requirement

Note

You can also check about configuring SonarQube plugin with Eclipse Eclipse Sonar Tutorial

Setup / Configure Sonar

SonarQube Installation Steps:

You can follow below steps in order to installing Sonar Java Code Analysis Tool. Which will dramatically imporve code quality.

Install Sonar Server

Sonar Server Started

Sonar Server Running

Now, You can see sonar server is started

  1. Copy and unzip sonar.zip and sonar-runner.zip
  2. Start the Sonar server using the script available in SONAR_HOME\bin\windows-x86-32\StartSonar.bat (OS dependent)
  3. After starting the server you can browse to http://localhost:9000

Creating Project & Analysing Using Sonar


For setting environment variable, you can do following steps

Set Sonar Home Variable

Also append C:\sonar\sonar-runner-2.3\bin to Path.

Set Sonar Path Variable

Note

 

CREATE USER 'sonar' IDENTIFIED BY 'sonar';
GRANT ALL ON sonar.* TO 'sonar'@'%' IDENTIFIED BY 'sonar';
GRANT ALL ON sonar.* TO 'sonar'@'localhost' IDENTIFIED BY 'sonar';
FLUSH PRIVILEGES;
		
  1. In this tutorial, we are using h2 database which is default configured with SonarQube, You can also use any of these databases (mysql,plsql,oracle etc),
    For example, If you are using mysql, just execute the following sql script
  2. Edit sonar.properties in  \conf\sonar.properties.

    just comment Connection url for h2 and uncomment Connection url for mysql

    sonar.jdbc.url:jdbc:h2:tcp://localhost:9092/sonar
    sonar.jdbc.url: jdbc:mysql://localhost:3306/sonar?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true

 

# Required metadata
sonar.projectKey=java-sonar-runner-simple
sonar.projectName=Simple Java project analyzed with the SonarQube Runner
sonar.projectVersion=1.0

# Comma-separated paths to directories with sources (required)
sonar.sources=src

# Language
sonar.language=java

# Encoding of the source files
sonar.sourceEncoding=UTF-8

Sonar Project Structure

  1. Set a new environment variable as SONAR_RUNNER_HOME. And its value should be C:\sonar\sonar-runner-2.3 (unzipped path of sonar-runner.zip)
    1. From the Desktop, right click on My Computer and click Properties.
    2. Click Advanced System Settings link in the left column.
    3. In the System Properties window click the Environment Variables button.
    4. Inside System variable, click on New Button
  2. Create a new Java Project and add below sonar-project.properties file into the root of the project folder (see below project strcuture)

  3. sonar-project.properties
  4. Using the terminal go the project home and run the command sonar-runner (Sonar Server must be started)
  5. After the success run browse the web  http://localhost:9000 where you can see the report related to the project

    Sonar Project Report











5 Responses to "SonarQube Tutorial"
  1. Nicole 2013-10-25 10:54:18.0
  1. admin 2013-10-26 10:54:18.0
  1. sravan 2013-10-27 09:54:18.0
  1. Priti 2013-10-28 09:54:18.0
  1. admin 2013-10-29 09:54:18.0

Your email address will not be published. Required fields are marked *