SonarQube Community Build | Analyzing source code | CI integration | Jenkins integration | Key features
Key features of SonarQube Community Build integration with Jenkins
SonarSource provides an extension for Jenkins to enable smooth integration. With the Jenkins Extension:
- You can install the SonarScanner CLI, for Maven, for Gradle, or for .NET from Jenkins and centralize the configuration of SonarQube Community Build connection details in Jenkins global configuration.
- You can trigger the SonarQube analysis from your Jenkins Freestyle or Pipeline jobs using standard Jenkins build steps or Jenkins Pipeline DSL. Once the Jenkins job is complete, the extension will detect that a SonarQube analysis was made during the build and display a badge and a widget on the job page with a link to the SonarQube dashboard as well as quality gate status.
- You can configure an automatic failing of your pipeline in case your code fails the quality gate you defined in SonarQube: see below.
- From SonarQube Developer Edition, you can also trigger the SonarQube analysis from your Jenkins Multibranch Pipeline jobs.
Automatic interruption of your pipeline in case the quality gate fails
With the Jenkins Extension, you can configure that your pipeline job fails in case the quality gate computed by SonarQube Community Build for your project fails. To do so, the extension makes webhook available: a webhook call must be configured in SonarQube Community Build to call back into Jenkins to allow the pipeline to continue or fail.
The figure below illustrates the process:
- A Jenkins Pipeline job is started.
- The job triggers the analysis by the SonarScanner.
- The SonarScanner sends the results to SonarQube Community Build.
- SonarQube Community Build completes the analysis, computes the quality gate configured for the project, and checks if the project fails or passes the quality gate.
- SonarQube Community Build sends the pass or failure result back to the Jenkins webhook exposed by the Jenkins Extension.
- The pipeline job continues (in case of a pass) or fails (otherwise).
Related pages
Was this page helpful?