After you have set up the SonarQube instance, you will need to integrate SonarQube with project.
Because I used the community edition version, it doesn’t support the C/C++ project, so I only demo how to integrate with Maven, Gradle, and Others.
For example, the demo project name and ID in SonarQube are both test-demo
, and I build with Jenkins.
Build with Maven
Add the following to your
pom.xml
file:<properties>
<sonar.projectKey>test-demo</sonar.projectKey>
</properties>Add the following code to your
Jenkinsfile
:stage('SonarQube Analysis') {
def mvn = tool 'Default Maven';
withSonarQubeEnv() {
sh "${mvn}/bin/mvn sonar:sonar"
}
}
Build with Gradle
Add the following to your
build.gradle
file:plugins {
id "org.sonarqube" version "3.3"
}
sonarqube {
properties {
property "sonar.projectKey", "test-demo"
}
}Add the following code to your
Jenkinsfile
:stage('SonarQube Analysis') {
withSonarQubeEnv() {
sh "./gradlew sonarqube"
}
}
Build with Other(for JS, TS, Python, …)
Create a
sonar-project.properties
file in your repository and paste the following code:sonar.projectKey=test-demo
Add the following code to your
Jenkinsfile
:stage('SonarQube Analysis') {
def scannerHome = tool 'SonarScanner';
withSonarQubeEnv() {
sh "${scannerHome}/bin/sonar-scanner"
}
}
More about how to integrate with SonarQube, please visit your SonarQube instance documentation: http://localhost:9000/documentation