Tuesday, April 5, 2022

How to Integrate SonarQube with Jenkins | Jenkins SonarQube Integration

 

Here below are the steps for integrating SonarQube with Jenkins:

Pre-requisites:
Make sure SonarQube is up and running
Make sure Sonarqube plug-in installed in Jenkins.



1. You need to login to SonarQube using admin/admin and click on Admin on your top side.

Click on My Account, Security. 
Under Tokens, Give some value for token name and click on generate Tokens. Copy the token.










2. After installing SonarQube successfully, login to Jenkins. Manage Jenkins --> Configure System --> SonarQube installation 


3. Click on Enable injection of Sonarqube server configuration check box.
Enter name as SonarQube,
URL as http://your_sonarqube_public_dns:9000, no / in the end
paste the token you copied from step #1 by click on Add Credentials, choose Secret Text as dropdown, paste the token as token

4. Save.
5. Click on your existing free style job, click on configure. click on prepare Sonarqube scanner  environment.








6. enter maven goal as clean install sonar:sonar










7. click on save and build the job.

You will see that Jenkins will integrate with SonarQube which does code analysis of your project.
Login to SonarQube, click on Projects to see the project dash board.

Below exercise is needed only for pipeline code, not for freestyle job:
 
Jenkins Pipeline code for running scan in SonarQube

node {

    def mvnHome = tool 'Maven3'
    stage ("checkout")  {
        //write pipeline code
    }

   stage ('build')  {
    sh "${mvnHome}/bin/mvn clean install -f MyWebApp/pom.xml"
    }

     stage ('Code Quality scan')  {
       withSonarQubeEnv('SonarQube') {
       sh "${mvnHome}/bin/mvn -f MyWebApp/pom.xml sonar:sonar"
        }
   }
}

No comments:

Post a Comment

Module 34: Understanding Terraform

  Terraform is a platform-agnostic tool that allows you to build, change, and version infrastructure securely and efficiently. Terraform is ...