Table of Contents |
---|
For quality analysis we are using SonarQube at SonarQube.com
...
Sonarqube analysis must be done with JDK 8!
SonarScanner is deprecated and anlysis analysis should be done with maven
Preview (pull request)
For pull request we don't want to upload the result to sonar but we wan't to check quality gates&etc so use preview mode
Code Block | ||
---|---|---|
| ||
-Dsonar.analysis.mode=preview |
Run with JDK8+
If the project is build with JDK8 or newer versions:use "Invoke top-level Maven targets" in a post build step:
Code Block | ||||
---|---|---|---|---|
| ||||
Maven Version=Maven3 Goals=$SONAR_MAVEN_GOAL -Dsonar.host.url=$SONAR_HOST_URL -Dsonar.login=$SONAR_AUTH_TOKEN $SONAR_EXTRA_PROPS |
Run with JDK7 or older
If the project is build with JDK7 or older versions: use "Execute shell" in a post build step (SonarScanner is deprecated)
Code Block | ||||
---|---|---|---|---|
| ||||
JAVA_HOME=/var/lib/jenkins/tools/hudson.model.JDK/JDK8
PATH=$JAVA_HOME/bin:$PATH
/var/lib/jenkins/tools/hudson.tasks.Maven_MavenInstallation/Maven3/bin/mvn $SONAR_MAVEN_GOAL -Dsonar.host.url=$SONAR_HOST_URL -Dsonar.login=$SONAR_AUTH_TOKEN $SONAR_EXTRA_PROPS
|
Global Tool Configuration
...
Jenkins is configured to use SonarQube.com (uses token GLESYS_JENKINS in sonarqube.com for uvms github user)
(extra options: -Dsonar.organization=uvms-github -Dsonar.exclusions=**/apidocs/** -Dsonar.dynamicAnalysis=reuseReports)
IDE analysis
For IntelliJ/Eclipse use SonarLint
...