sonarQube
propósito
- Para tratar sonar
- wikipedia sonar
SONAR
- lanzo
c:\SONAR\sonarqube-4.5.5\bin\windows-x86-32/StartSonar.bat
C:\proyectos\hugo\javier-programacion>c:\SONAR\sonarqube-4.5.5\bin\windows-x86-32/StartSonar.bat
wrapper | --> Wrapper Started as Console
wrapper | Launching a JVM...
jvm 1 | Wrapper (Version 3.2.3) http://wrapper.tanukisoftware.org
jvm 1 | Copyright 1999-2006 Tanuki Software, Inc. All Rights Reserved.
jvm 1 |
jvm 1 | 2019.07.15 07:39:25 INFO app[o.s.p.m.JavaProcessLauncher] Launch process[search]: C:\Program Files (x86)\Java\jre1.8.0_45\bin\java -Djava.awt.headless=true -Xmx256m -Xms256m -Xss256k -Djava.net.preferIPv4Stack=true -XX:+UseParNewGC -XX:+UseConcMarkSweepGC -XX:CMSInitiatingOccupancyFraction=75 -XX:+UseCMSInitiatingOccupancyOnly -XX:+HeapDumpOnOutOfMemoryError -Djava.io.tmpdir=C:\SONAR\sonarqube-4.5.5\temp -cp ./lib/common/*;./lib/search/* org.sonar.search.SearchServer C:\Users\jiranzo\AppData\Local\Temp\sq-process5231462572000511926properties
jvm 1 | 2019.07.15 07:39:36 INFO app[o.s.p.m.Monitor] Process[search] is up
jvm 1 | 2019.07.15 07:39:36 INFO app[o.s.p.m.JavaProcessLauncher] Launch process[web]: C:\Program Files (x86)\Java\jre1.8.0_45\bin\java -Djava.awt.headless=true -Dfile.encoding=UTF-8 -Djruby.management.enabled=false -Djruby.compile.invokedynamic=false -Xmx768m -XX:MaxPermSize=160m -XX:+HeapDumpOnOutOfMemoryError -Djava.io.tmpdir=C:\SONAR\sonarqube-4.5.5\temp -cp ./lib/common/*;./lib/server/*;C:\SONAR\sonarqube-4.5.5\extensions\jdbc-driver\oracle\ojdbc6.jar org.sonar.server.app.WebServer C:\Users\jiranzo\AppData\Local\Temp\sq-process4470457674857829715properties
jvm 1 | 2019.07.15 07:40:40 INFO app[o.s.p.m.Monitor] Process[web] is up
- esto pone en marcha el servidor en el puerto 9000
- se ven las aplicaciones que ya están analizadas
- para analizar una aplicación voy al directorio raíz de la aplicación y lanzo
c:\SONAR\sonar-runner-2.4\bin\sonar-runner.bat
- me da este error
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
- hay un archivo en el directorio raíz del proyecto llamado
sonar-project.properties
que tiene la configuración que se usa
# Required metadata
sonar.projectKey=org.sonarqube:EPACF
sonar.projectName=EPACF
sonar.projectVersion=1.0.0
# Comma-separated paths to directories with sources (required)
sonar.sources=./
sonar.java.binaries=./build/web/WEB-INF/classes
sonar.java.libraries=./lib
- meto estos valores y parece funcionar
http://localhost:9000/dashboard/index/org.sonarqube:EPACF_ADM
que muestra las estadísticas de esta aplicación
# JAVIER 2018-03-08 08:10:48
sonar.projectKey=org.sonarqube:EPACF_ADM
sonar.projectName=EPACF_ADM
sonar.projectVersion=0.0.1
sonar.sources=c:\\proyectos\\EPACF_ADM\\src
c:\SONAR\sonarqube-4.5.5\bin\windows-x86-64\StartSonar.bat
parece que hay que usar el sonar que hay instalado en un docker
http://1.43.10.43:9000/
pues tiene definidas las reglas que se usan en ASTsonar usa la base de datos oracle en desarrollo con el usuario
EPSONAR
--DESDE EPSONAR
SELECT * FROM USER_TABLES ORDER BY TABLE_NAME;
SELECT * FROM PROJECTS order by created_at desc ;
SELECT * FROM PROJECTS WHERE KEE LIKE '%EPACF%';
- el análisis de cada aplicación le puede costar unos cuantos minutos sobre todo la parte en la que almacena los resultados en base de datos
VER RESULTADOS
- cuando finaliza
13:19:03.964 INFO - ANALYSIS SUCCESSFUL, you can browse http://localhost:9000/dashboard/index/org.sonarqube:EPCNT
13:19:05.553 INFO - Executing post-job class org.sonar.plugins.core.issue.notification.SendIssueNotificationsPostJob
13:19:06.538 INFO - Executing post-job class org.sonar.plugins.core.batch.IndexProjectPostJob
13:20:08.556 INFO - Executing post-job class org.sonar.plugins.dbcleaner.ProjectPurgePostJob
13:20:08.587 INFO - -> Keep one snapshot per day between 2019-06-13 and 2019-07-10
13:20:08.589 INFO - -> Keep one snapshot per week between 2018-07-12 and 2019-06-13
13:20:08.589 INFO - -> Keep one snapshot per month between 2014-07-17 and 2018-07-12
13:20:08.590 INFO - -> Delete data prior to: 2014-07-17
13:20:08.614 INFO - -> Clean EPCNT [id=15440]
13:20:08.624 INFO - <- Delete aborted builds
INFO: ------------------------------------------------------------------------
INFO: EXECUTION SUCCESS
INFO: ------------------------------------------------------------------------
Total time: 10:24.559s
Final Memory: 29M/762M
INFO: ------------------------------------------------------------------------
- indica la url que se puede usar para ver los resultados
- se puede ver que ha cambiado la fecha de análisis Version 1.0.0 - 18/Sep/2019 08:04
MEJORAR RESULTADOS
- En la parte de Documentation que es donde se refleja los comentarios que están en las clases
instrucciones de David
- que son las que valen 👍
- 2018-03-27 12:55:27
- quitar del directorio la documentación de base de datos y todo lo que no es necesario
- primero levanto
c:\SONAR\sonarqube-4.5.5\bin\windows-x86-32\StartSonar.bat>
- pide acceso para el firewall
- luego limpio el proyecto con
ant clean
desde el directorio raíz del proyecto - luego desde el directorio raíz del proyecto
c:\SONAR\sonar-runner-2.4\bin\sonar-runner.bat
- 2018-03-27 13:09:28
- inicio 2018-03-08 10:25:43
- tiene que existir en archivo sonar-project.properties en el directorio raíz del proyecto para evitar este error
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
- con este contenido
# Required metadata
sonar.projectKey=org.sonarqube:EPCNT
sonar.projectName=EPCNT
sonar.projectVersion=1.0.0
# Comma-separated paths to directories with sources (required)
sonar.sources=./
sonar.java.binaries=./build/web/WEB-INF/classes
sonar.java.libraries=./lib
- 2018-03-08 10:30:53
Store results in database
esta parte le cuesta bastante
10:39:29.305 INFO - -> Clean EPACF [id=22023]
INFO: ------------------------------------------------------------------------o
INFO: EXECUTION SUCCESS
INFO: ------------------------------------------------------------------------o
Total time: 12:59.482s
Final Memory: 20M/789M
INFO: ------------------------------------------------------------------------
- los problemas que hay que solucionar
* los
Blocker issues
y los Critical issues
usar el enlace al lado de
Blocker
yCritical
para ver los erroresen el archivo
src/java/es/aragon/epdtm/cts/aplicacion/ParametrosGeneralesCTS.java
se da un error que al final AST pasaRemove this hard-coded password.
//Password del correo electrónico
public final static String EMAIL_PASSWORD = "EMAIL_PASSWORD";
- realmente no es una contraseña puesta a fuego
PENDIENTE
- releer el documento
static\Instalacion de SonarQube.doc