aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Makefile21
-rw-r--r--README_SONAR.md73
-rw-r--r--docs/sonarqube/create_new_project_sonarqube.pngbin0 -> 14163 bytes
-rw-r--r--docs/sonarqube/create_new_project_step1_sonarqube.pngbin0 -> 21258 bytes
-rw-r--r--docs/sonarqube/create_new_project_step2_sonarqube.pngbin0 -> 33382 bytes
-rw-r--r--docs/sonarqube/create_new_project_step3_sonarqube.pngbin0 -> 37968 bytes
-rw-r--r--docs/sonarqube/create_new_project_step4_sonarqube.pngbin0 -> 100125 bytes
-rw-r--r--docs/sonarqube/login_sonarqube.pngbin0 -> 11670 bytes
-rw-r--r--docs/sonarqube/sonarqube_report.pngbin0 -> 92426 bytes
-rw-r--r--pom.xml19
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
new file mode 100644
index 0000000..0d41700
--- /dev/null
+++ b/docs/sonarqube/create_new_project_sonarqube.png
Binary files differ
diff --git a/docs/sonarqube/create_new_project_step1_sonarqube.png b/docs/sonarqube/create_new_project_step1_sonarqube.png
new file mode 100644
index 0000000..5601672
--- /dev/null
+++ b/docs/sonarqube/create_new_project_step1_sonarqube.png
Binary files differ
diff --git a/docs/sonarqube/create_new_project_step2_sonarqube.png b/docs/sonarqube/create_new_project_step2_sonarqube.png
new file mode 100644
index 0000000..0e759dc
--- /dev/null
+++ b/docs/sonarqube/create_new_project_step2_sonarqube.png
Binary files differ
diff --git a/docs/sonarqube/create_new_project_step3_sonarqube.png b/docs/sonarqube/create_new_project_step3_sonarqube.png
new file mode 100644
index 0000000..be8b1a1
--- /dev/null
+++ b/docs/sonarqube/create_new_project_step3_sonarqube.png
Binary files differ
diff --git a/docs/sonarqube/create_new_project_step4_sonarqube.png b/docs/sonarqube/create_new_project_step4_sonarqube.png
new file mode 100644
index 0000000..810b35f
--- /dev/null
+++ b/docs/sonarqube/create_new_project_step4_sonarqube.png
Binary files differ
diff --git a/docs/sonarqube/login_sonarqube.png b/docs/sonarqube/login_sonarqube.png
new file mode 100644
index 0000000..4810cf0
--- /dev/null
+++ b/docs/sonarqube/login_sonarqube.png
Binary files differ
diff --git a/docs/sonarqube/sonarqube_report.png b/docs/sonarqube/sonarqube_report.png
new file mode 100644
index 0000000..925d256
--- /dev/null
+++ b/docs/sonarqube/sonarqube_report.png
Binary files differ
diff --git a/pom.xml b/pom.xml
index 42e5405..50bf928 100644
--- a/pom.xml
+++ b/pom.xml
@@ -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>