This is an old revision of the document!
Table of Contents
Calidad, pruebas y rendimiento
Calidad del código
SonarQube
Máquina virtual con SonarQube
Configurar Maven con SonarQube
Aunque la forma más habitual de utilizar SonarQube es hacerlo a través de Jenkins integrando ambas aplicaciones, también podemos lanzar directamente nuestro proyecto contra SonarQube para hacer un análisis del código en cualquier momento.
Lo primero que tenemos que hacer es indicarle a maven cuál es la ubicación de la máquina donde tenemos SonarQube instalado. Para eso, accedemos al fichero ~/.m2/settings.xml y añadimos la siguiente configuración (modificando la IP por la que corresponda en cada caso):
- settings.xml
<settings> <profiles> <profile> <id>sonar</id> <activation> <activeByDefault>true</activeByDefault> </activation> <properties> <sonar.host.url> http://192.168.8.107 </sonar.host.url> </properties> </profile> </profiles> </settings>
Y ahora, en el fichero pom.xml
de nuetro proyecto, añadiremos el plugin sonar-maven-plugin para poder lanzar al análisis de código contra el SonarQube que acabamos de configurar:
. . . <build> <pluginManagement> <plugins> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>sonar-maven-plugin</artifactId> <version>3.8.0.2131</version> </plugin> </plugins> </pluginManagement> </build> . . .
Asi, en cualquier momento, podremos lanzar el análisis contra SonarQube ejecutando mvn sonar:sonar tras compilar previamente el proyecto.
santi@zenbook:$ mvn clean compile santi@zenbook:$ mvn sonar:sonar -Dsonar.login=admin -Dsonar.password=sonar . . . . . . [INFO] ANALYSIS SUCCESSFUL, you can browse http://192.168.8.107/dashboard?id=com.sanvalero.introrxjava%3AIntroRxJava [INFO] Note that you will be able to access the updated dashboard once the server has processed the submitted analysis report [INFO] More about the report processing at http://192.168.8.107/api/ce/task?id=AXfWTNYWvSx51keoM15i [INFO] Analysis total time: 31.355 s [INFO] ------------------------------------------------------------------------ [INFO] BUILD SUCCESS [INFO] ------------------------------------------------------------------------ [INFO] Total time: 34.022 s [INFO] Finished at: 2021-02-25T00:08:15+01:00 [INFO] ------------------------------------------------------------------------
Para ver los resultados, solamente tendrmeos que acceder a SonarQube introduciendo la IP de la máquina en el navegador (por ejemplo, http://192.168.8.109
) y veremos, en la vista general, el proyecto para el que acabamos de lanzar el análisis. Si ya lo hubieramos lanzado antes, lo veríamos actualizado.
Si pinchamos en el proyecto, entraremos en la vista general del mismo, donde podremos ver algunos parámetros y detalles sobre el análisis del mismo:
Y, por ejemplo, si accedemos ahora a la zona Issues
del proyecto, podemos ver un informe totalmente detallado de todas las deficiencias que SonarQube ha encontrado en nuestro código. Para cada una de ellas nos ofrecerá, a parte de otras tantas acciones, una explicación y una forma de arreglarla, asi cómo la ubicación exacta del fichero de código donde se encuentra.
Integrar SonarQube con Jenkins
Monitorizar el rendimiento
JConsole
Ejecutar JConsole
santi@zenbook:$ jconsole