It is recommended to run project analyses on a regular basis to get the best from the SonarQube platform. Continuous Integration servers are the perfect tools to do so.
Install and configure the SonarQube Jenkins plugin.
Install and configure the SonarQube Hudson plugin.
Install the SonarQube plugins for Bamboo, by Marvelution.
The difficulty in Continuum is to be able to synchronize an
install goal with the
sonar:sonar goal because it is necessary that an
install goal is run before the SonarQube collect starts (See Analyzing Source Code for more information).
Since Continuum does not provide mechanism to trigger a build from a build, there are two options: either running
install goals regularly (for example every hour), or trigger a complete command such as:
mvn clean install sonar:sonar -Dmaven.test.failure.ignore=true
In this case, unit tests are going to be run twice: once during
In case you decide to run
install commands regularly, here is the setup you can do for the SonarQube build:
For multi-module projects, make sure that the --non-recursive build definition argument is NOT set.
In CruiseControl, use the | to run the
install and the
sonar:sonar goals in two different processes. The command to be run should look like:
clean install -Dtest=false -DfailIfNoTests=false | sonar:sonar -Psonar_profile
These are the build configuration steps you need to do for the build:
In build runner config, select Maven2, with the goal
clean install sonar:sonar
Additional Maven command line parameters: