Setup a new project in Jenkins

1. Create a new item

1.1 From the main dashboard click on New Item

1.2 Enter the name for your project, then select Freestyle project and click OK.

2. Fill project datasheet

After you have created the item, a datasheet with multiple tabs is opened to setup your project. Next there is a fast view of each tab.

2.1 General tab

Project name. This is the name that you will see on SonarQube. Be sure to set the final name because if you change it after a run, you will have two projects on SonarQube: one with the previous name and one with the current name.

Github project. If your project is in Github, you could select this option and avoid installing git on your system. This option is only valid for a public repository on Github. Is your repository on Github is private, configure is as a git repository.

2.2 Source Code Management tab

You will see the list of Source Code Management plugins you have installed on Jenkins. If you are using a different SCM from which you can see, then install the plugin for your repository.

Select the repository from which the code should be retrieved and configure any requirement for the plugin.

2.3 Build Triggers tab

Configure the build periodically. In the next example, we build each day between 1am and 3am.

2.4 Build tab

2.4.1 Add a build step Execute shell to clean the output directory to avoid errors if previous execution failed and path is not clear

rd "C:\sonarqube\cachedb-import\output\%JOB_NAME" /S /Q

2.4.2 Add a build step Execute shell; if your sources are in XML formant, the first execution must be the transformation to cls

java -jar C:\sonarqube\cachedb-import\cachedb-import.jar gensrc cfg=C:\sonarqube\cachedb-import\db.properties inputDir="%WORSPACE" outputDir="D:\sonarqube\cachedb-import\output\%JOB_NAME%"

2.4.3 Add a build step Execute shell; now you must run sonar-runner, this is the analysis step

sonar-runner -e -Dsonar.projectKey="%JOB_NAME%" -Dsonar.projectName="%JOB_NAME%" -Dsonar.sources="C:\sonarqube\cachedb-import\output\%JOB_NAME%" -Dsonar.projectVersion=1.0

2.4.4 Add a build step Execute shell as finally we need to clean the output directory or you will get errors on next run

rd "C:\sonarqube\cachedb-import\output\%JOB_NAME" /S /Q

2.5 Post-build Actions tab

The cachéQuality analysers does not need any post-build action, but you can setup any requirement you have

2.6 Save

Remember to save your configuration.

1. Create a new item

1.1 From the main dashboard click on New Item

1.2 Enter the name for your project, then select Freestyle project and click OK.

2. Fill project datasheet

After you have created the item, a datasheet with multiple tabs is opened to setup your project. Next there is a fast view of each tab.

2.1 General tab

Project name. This is the name that you will see on SonarQube. Be sure to set the final name because if you change it after a run, you will have two projects on SonarQube: one with the previous name and one with the current name.

Github project. If your project is in Github, you could select this option and avoid installing git on your system. This option is only valid for a public repository on Github. Is your repository on Github is private, configure is as a git repository.

2.2 Source Code Management tab

You will see the list of Source Code Management plugins you have installed on Jenkins. If you are using a different SCM from which you can see, then install the plugin for your repository.

Select the repository from which the code should be retrieved and configure any requirement for the plugin.

2.3 Build Triggers tab

Configure the build periodically. In the next example, we build each day between 1am and 3am.

2.4 Build tab

2.4.1 Add a build step Execute shell to clean the output directory to avoid errors if previous execution failed and path is not clear

rm -rf "/opt/sonarqube/cachedb-import/output/$JOB_NAME"

2.4.2 Add a build step Execute shell; if your sources are in XML formant, the first execution must be the transformation to cls

/opt/java/default-jdk/bin/java -jar /opt/sonarqube/cachedb-import/cachedb-import.jar gensrc cfg=/opt/sonarqube/cachedb-import/db.properties inputDir="$WORKSPACE" outputDir="/opt/sonarqube/cachedb-import/output/$JOB_NAME"

2.4.3 Add a build step Execute shell; now you must run sonar-runner, this is the analysis step

/opt/sonarqube/sonar-runner/bin/sonar-runner -Dsonar.projectKey="$JOB_NAME" -Dsonar.projectName="$JOB_NAME" -Dsonar.sources="/opt/sonarqube/cachedb-import/output/$JOB_NAME" -Dsonar.projectVersion=1.0

2.4.4 Add a build step Execute shell as finally we need to clean the output directory or you will get errors on next run

rm -rf "/opt/sonarqube/cachedb-import/output/$JOB_NAME"

2.5 Post-build Actions tab

The cachéQuality analysers does not need any post-build action, but you can setup any requirement you have

2.6 Save

Remember to save your configuration.