diff options
-rw-r--r-- | Makefile | 21 | ||||
-rw-r--r-- | README_SONAR.md | 73 | ||||
-rw-r--r-- | docs/sonarqube/create_new_project_sonarqube.png | bin | 0 -> 14163 bytes | |||
-rw-r--r-- | docs/sonarqube/create_new_project_step1_sonarqube.png | bin | 0 -> 21258 bytes | |||
-rw-r--r-- | docs/sonarqube/create_new_project_step2_sonarqube.png | bin | 0 -> 33382 bytes | |||
-rw-r--r-- | docs/sonarqube/create_new_project_step3_sonarqube.png | bin | 0 -> 37968 bytes | |||
-rw-r--r-- | docs/sonarqube/create_new_project_step4_sonarqube.png | bin | 0 -> 100125 bytes | |||
-rw-r--r-- | docs/sonarqube/login_sonarqube.png | bin | 0 -> 11670 bytes | |||
-rw-r--r-- | docs/sonarqube/sonarqube_report.png | bin | 0 -> 92426 bytes | |||
-rw-r--r-- | pom.xml | 19 |
10 files changed, 111 insertions, 2 deletions
diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..cb456c5 --- /dev/null +++ b/Makefile @@ -0,0 +1,21 @@ +create-sonarqube: + @echo "##### Create SonarQube #####" + docker run -d --name sonarqube -p 9000:9000 -p 9092:9092 sonarqube + @echo "************************************************" + @echo "*** Follow instructions from README_SONAR.md ***" + @echo "************************************************" + @echo "##### DONE #####" + +start-sonarqube: + @echo "##### Start SonarQube #####" + docker start sonarqube + @echo "************************************************" + @echo "*** Follow instructions from README_SONAR.md ***" + @echo "************************************************" + @echo "##### DONE #####" + +stop-sonarqube: + @echo "##### Stop SonarQube #####" + docker stop sonarqube + @echo "##### DONE #####" + diff --git a/README_SONAR.md b/README_SONAR.md new file mode 100644 index 0000000..e65b7e6 --- /dev/null +++ b/README_SONAR.md @@ -0,0 +1,73 @@ +# Run SonarQube locally +All instructions based at an article at https://www.vogella.com/tutorials/SonarQube/article.html + +## Configure and run SonarQube locally +* Create and run SonarQube container + ``` + make create-sonarqube + ``` +* Configure SonarQube + + a). Log in at http://localhost:9000 + + ![alt text](docs/sonarqube/login_sonarqube.png "Log in") + + Username: admin + Password: admin + + b). Create a new Sonar project. + + ![alt text](docs/sonarqube/create_new_project_sonarqube.png "Create a new project") + + - Set project name + + ![alt text](docs/sonarqube/create_new_project_step1_sonarqube.png "Set project name") + + - Generate token + + ![alt text](docs/sonarqube/create_new_project_step2_sonarqube.png "Generate token") + + You should see + + ![alt text](docs/sonarqube/create_new_project_step3_sonarqube.png "Generated token") + + - Select code language and building technology + + ![alt text](docs/sonarqube/create_new_project_step4_sonarqube.png "Select code language") + + c). Run code analyse using command from a previous step. + + Before code analyse ALWAYS execute: + + ``` + mvn clean test + ``` + + Next (from previous step): + ``` + mvn sonar:sonar \ + -Dsonar.projectKey=pnf-simulator \ + -Dsonar.host.url=http://localhost:9000 \ + -Dsonar.login=de5dac7da79a4de88876006a05457902aab1a3a3 + ``` + After command execution you should see at the console: + ``` + [INFO] ANALYSIS SUCCESSFUL, you can browse http://localhost:9000/dashboard?id=pnf-simulator + [INFO] Note that you will be able to access the updated dashboard once the server has processed the submitted analysis report + ``` + Click at link http://localhost:9000/dashboard?id=pnf-simulator to see Sonar report + ![alt text](docs/sonarqube/sonarqube_report.png "Select code language") + + IMPORTANT: Please note command used to run code analise. You will need it later. + +## Stopping SonarQube +If you do not want to repeat step **Configure and run SonarQube locally** you must use stopping and starting make goals. +``` + make stop-sonarqube +``` + +## Starting SonarQube +If you do not want to repeat step **Configure and run SonarQube locally** you must use stopping and starting make goals. +``` + make start-sonarqube +``` diff --git a/docs/sonarqube/create_new_project_sonarqube.png b/docs/sonarqube/create_new_project_sonarqube.png Binary files differnew file mode 100644 index 0000000..0d41700 --- /dev/null +++ b/docs/sonarqube/create_new_project_sonarqube.png diff --git a/docs/sonarqube/create_new_project_step1_sonarqube.png b/docs/sonarqube/create_new_project_step1_sonarqube.png Binary files differnew file mode 100644 index 0000000..5601672 --- /dev/null +++ b/docs/sonarqube/create_new_project_step1_sonarqube.png diff --git a/docs/sonarqube/create_new_project_step2_sonarqube.png b/docs/sonarqube/create_new_project_step2_sonarqube.png Binary files differnew file mode 100644 index 0000000..0e759dc --- /dev/null +++ b/docs/sonarqube/create_new_project_step2_sonarqube.png diff --git a/docs/sonarqube/create_new_project_step3_sonarqube.png b/docs/sonarqube/create_new_project_step3_sonarqube.png Binary files differnew file mode 100644 index 0000000..be8b1a1 --- /dev/null +++ b/docs/sonarqube/create_new_project_step3_sonarqube.png diff --git a/docs/sonarqube/create_new_project_step4_sonarqube.png b/docs/sonarqube/create_new_project_step4_sonarqube.png Binary files differnew file mode 100644 index 0000000..810b35f --- /dev/null +++ b/docs/sonarqube/create_new_project_step4_sonarqube.png diff --git a/docs/sonarqube/login_sonarqube.png b/docs/sonarqube/login_sonarqube.png Binary files differnew file mode 100644 index 0000000..4810cf0 --- /dev/null +++ b/docs/sonarqube/login_sonarqube.png diff --git a/docs/sonarqube/sonarqube_report.png b/docs/sonarqube/sonarqube_report.png Binary files differnew file mode 100644 index 0000000..925d256 --- /dev/null +++ b/docs/sonarqube/sonarqube_report.png @@ -86,6 +86,7 @@ <quartz-jobs.version>2.2.1</quartz-jobs.version> <guava.version>21.0</guava.version> <logback-classic.version>1.2.3</logback-classic.version> + <sonar-maven-plugin.version>3.7.0.1746</sonar-maven-plugin.version> <!-- TEST DEPENDENCIES VERSION --> @@ -104,9 +105,12 @@ <dependencyManagement> <dependencies> - <!-- Compile DEPENDENCIES --> - + <dependency> + <groupId>org.sonarsource.scanner.maven</groupId> + <artifactId>sonar-maven-plugin</artifactId> + <version>${sonar-maven-plugin.version}</version> + </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter</artifactId> @@ -326,6 +330,17 @@ </profiles> <build> + <pluginManagement> + <plugins> + <!-- To run SonarQube locally --> + <plugin> + <groupId>org.sonarsource.scanner.maven</groupId> + <artifactId>sonar-maven-plugin</artifactId> + <version>${sonar-maven-plugin.version}</version> + </plugin> + </plugins> + </pluginManagement> + <plugins> <plugin> <artifactId>maven-checkstyle-plugin</artifactId> |