sonarQube

propósito

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

`sonar_qube_aplicaciones_analizadas.png`

  • 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 AST

  • sonar 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: ------------------------------------------------------------------------

`sonar_qube_dashboard`

  • los problemas que hay que solucionar

`sonar_qube_dashboard_problemas` * los Blocker issues y los Critical issues

  • usar el enlace al lado de Blocker y Critical para ver los errores

  • en el archivo src/java/es/aragon/epdtm/cts/aplicacion/ParametrosGeneralesCTS.java se da un error que al final AST pasa Remove 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