SonarRunner can't find sonar.projectKey, sonar.projectName, sonar.projectVersion, sonar.sources

19,968

Solution 1

What a nice way to waste an evening...

According to this Sonar Runner is not meant for Maven projects. It turns out you're supposed to look under "Post-Build Actions" (not "Post-Build Steps") and you will find "Sonar". See here for more information.

Solution 2

Method 1: If you installed a scanner in Jenkins then just add the following in this location on your job
Post Steps -> Execute SonarQube Scanner -> Analysis properties

sonar.projectKey=myProject1
sonar.sources=.

Method 2: Another alternative is using the deprecated method which still works fine Post-build Actions -> SonarQube analysis with Maven

Method 3: Build -> Goals and options -> "enter the below script" -Dmaven.test.skip=true install sonar:sonar -Dsonar.forceAnalysis=true -Dsonar.host.url=http://localhost:9000/ -Dsonar.branch=my-branch-1

Share:
19,968
Gili
Author by

Gili

Email: cowwoc2020 at gmail dot com.

Updated on July 23, 2022

Comments

  • Gili
    Gili almost 2 years

    I am attempting to get Jenkins to run Sonar as a post-build step.

    Jenkins runs SonarRunner [1] but this fails with:

    ERROR: Error during Sonar runner execution
    ERROR: Unable to execute Sonar
    ERROR: Caused by: You must define the following mandatory properties for 'Unknown': sonar.projectKey, sonar.projectName, sonar.projectVersion, sonar.sources
    

    If I run mvn sonar:sonar [2] instead it works fine. It almost sounds like SonarRunner is ignoring pom.xml. How do I get SonarRunner to pick up these properties from Maven?


    [1] /Users/builds/.jenkins/tools/hudson.plugins.sonar.SonarRunnerInstallation/Default_Sonar_Runner/bin/sonar-runner -Dsonar.jdbc.url=jdbc:h2:tcp://myServer:1009/sonar -Dsonar.host.url=http://myServer/sonar/ -Dsonar.projectBaseDir=/Users/builds/.jenkins/workspace/myProject

    [2] mvn sonar:sonar -Dsonar.jdbc.url=jdbc:h2:tcp://myServer:1009/sonar -Dsonar.host.url=http://myServer/sonar/ -Dsonar.projectBaseDir=/Users/builds/.jenkins/workspace/myProject

  • buzz3791
    buzz3791 over 8 years
    As of SonarQube 5.x, the SonarQube documentation states using the Jenkins "Sonar" post-build action is deprecated docs.sonarqube.org/display/SONARNEXT/…
  • Farid Movsumov
    Farid Movsumov over 7 years
    Link is broken :(
  • electricalbah
    electricalbah about 7 years
    My Jenkins tells me it deprecated but it solved my issue