La calidad del software es de gran importancia en la etapa del desarrollo, y es importante disponer de herramientas que ayuden a evaluar el código y garantizar el desarrollo de una manera adecuada con la finalidad de aplicar buenas prácticas, y en este punto entra a detallar SonarQube.
Requisitos:
- JDK 11.
- Maven 3.8.6.
- Spring Boot 3.0.1.
- IntelliJ IDEA Ultimate.
- SonarQube.
Lo que veremos en este tutorial:
- Descargar e instalar JDK11 y SonarQube.
- Configurar SonarQube.
- Configurar proyecto Spring Boot.
- Ejecutar el servidor SonarQube.
- Descarga de JDK11 Oracle y SonarQube.
1. Descargar e instalar jdk11 y SonarQube.
1.1. Descargar el jdk 11 desde la página de Oracle.
![](https://blogger.googleusercontent.com/img/a/AVvXsEh9yyu1c8Rx7LhDA53B7-RmkRyPm4Sth8Wfa-Vz8HAjxIlNwQsMxitzfAtpQG7Gi5Joq_AOH_tRB8tpcqRcvkLxGnTdPh9dWxAC0GrDSew6Av-BQgqdKUFkeCnA7FaW1cfQYsvJKbtVyiRY2VgBeH4UG6hFwMYCx4sZlIcMi8YLTk5cxWkq5xiJiACu=s16000) |
Descomprimir el archivo jdk en el directorio C:\ |
1.2. Descargar SonarQube desde la página de Sonarsource.
![](https://blogger.googleusercontent.com/img/a/AVvXsEh3D8K931MRaOrnZ6zKdaq98NhYM-1CX4g3vFYMPLzjkBLJwwy1aLsgyRHSvEAqo03YsUdzaK8H7N4Wf7PoIYQqH4gmChSAhuPycDe6Lz2vj-STmsdi2WjRXA-nqNUYycqP3fUZiSXmy0uq8cARvoD3jzW5WDYcnsenxIYl6MzVdpUTgtlnGSLf6x9_=s16000) |
Descomprimir el archivo de SonarQube en el directorio C:\ |
2. Configurar SonarQube.
Direccionar la version JDK 11 desde el archivo wrapper.conf (archivo de configuración de SonarQube). El archivo wrapper.conf se ubica en la ruta de C:\sonarqube-9.5.0.56709\conf\wrapper.conf
![](https://blogger.googleusercontent.com/img/a/AVvXsEiWY63pIHxvROU-7mOoeL0h4rxVar09V5D2D49T3VW11bxULTo8OGMtZJOS6YU9-XD6h2miaX9dysO5nwLESr2tBy_eA-DSvr6CjE4s_twny9GOhi-K3m5nKBH1DgcFaWIGx0rUl69oTElsXzJorHcw1Mz4cgAjLRa6SLCIRoDL--F1yxSao-e5h6NA=s16000) |
El archivo wrapper.conf agregar la siguiente ruys C:/jdk-11.0.15.1/bin/java |
3. Configurar proyecto Spring Boot.
3.1. Configurar JDK11
![](https://blogger.googleusercontent.com/img/a/AVvXsEggiWREaikQ4CSjW3MfQYxd_JDuJufX9_4cfQJ4NBP6DhwRBNJa9aFnjtIJcIed--Vg4mRw5o1WYhZIxtq4CnDVP2HyxHawUmVNNSAj1eRNFUP9SAM1B_HveiXwnnyM36-1NUosGRE-KOOhAKV2XdTgexwbTEJfbcbCyq_FKI7dHAIsOhF9FMtN3VRV=s16000) |
Clic derecho en el nombre del proyecto y clic en Open Module Setting |
![](https://blogger.googleusercontent.com/img/a/AVvXsEg5m5WpKo7D_seN1sciwhnKItvUJZ3D4pzWdSZ-Pm_ND9310fdZEp7TwpIjIcVZ1AzYuExGJ8D-ZDtM4N2yZxdn5llwHagFGjc3reTPpT_7fYrYfPsaa1ZskLEOyJ5m74vj1BdaC2Z0mXTBzlAZcB0vJTBTSGIFhVYO94LBvDfceXFNnzRsDp119ZoI=s16000) |
Seleccionar Project, cambiar a la versión 11 del SDK |
![](https://blogger.googleusercontent.com/img/a/AVvXsEizUdnYiMKNKjW4vET13Hq_np3SXcW3gUj_R0Gv8aJfUOKRUfwrxwjPGWGsPtviLBrQLrsweA8HJ9w3xgSr7UmKW7FN529z8MWjjW1OR0ln8KVXK_oWA9T-6KtVLY8v6mC8b9V9XieA-0bHZm40V25UiMXOhca4_ZsjT9b49O8RgQ1N5tPy8L4e4USJ=s16000) |
Seleccionar Modules, cambiar el nivel de lengaje a la versión 11 |
![](https://blogger.googleusercontent.com/img/a/AVvXsEjItrR7VKGxRw8jn4pFfjrSrIdmdJGwrPZK7qxxf1pupJqcoSePM_jxGGO6Asg5T6fLNEZsJBCJO385qe7F6DZmr4QD4zeyh_tocPykRWpbtGJjlq6u3QIx3OD1HSxYMHkq_qfF2xqmZq2Hb1Xoy2G3C8Uz-eQwqCGPhh8GJzaBLEufKYWBJbalto9u=s16000) |
Seleccionar el SDK, seleccionar la versión 11 de SDK, clic Apply, finalmente clic en OK |
3.2. Editar archivo pom.xml
Agregar en las siguientes lineas en tag <properties> del archivo pom.xml
<sonar.sources>src/main/java</sonar.sources> <sonar.tests>src/test/java</sonar.tests> <sonar.java.binaries>target/classes</sonar.java.binaries>
![](https://blogger.googleusercontent.com/img/a/AVvXsEjgOA_WB8oaBH4sItJeaBXyUGRmCYo5URKsDqDdXSk88M8HZKbzrupF7aOy9MZvS5Q-UORFz6mwCZotShpVV58xzCAIBXQmVxbw0ji8SqiX221Lx83NJsg13ms7jgspOP3hWV3K7acG4fy-qGVegF6tQR11trHIa2_EQw6o9nS0Pun8i5ZN-jbFSqUN=s16000) |
En el tag <properties> agregar los recursos de sonar |
Agregar el tag <pluginManagement> en el archivo pom.xml
<pluginManagement> <plugins> <plugin> <groupId>org.sonarsource.scanner.maven</groupId> <artifactId>sonar-maven-plugin</artifactId> <version>3.7.0.1746</version> </plugin> </plugins> </pluginManagement>
![](https://blogger.googleusercontent.com/img/a/AVvXsEgbaqVKhnrbsWoDeh0DJDs3NRg32hTShIyRDifLLXFSA9FEkF2GOeTJ6HWSe-ivP3PMFwZg6jKHrHsxmO-dtHrQFS-7PppngHCE0DBewEq-75Uv1axhY-mDD7iuUq0ST-rFB1iWkfh9nFoKJ9jsOOuS5mrs3ywbt9EMD4p54x0uDBENwSrF5C7eXyi-=s16000) |
En el tag de <build> agregar el <groupId> con relación scanner de sonar |
3.2. Cambiar la versión del compilador.
![](https://blogger.googleusercontent.com/img/a/AVvXsEjGiocHQ9mijYDkhtKkjH7kZSSv3fTc7pPze9ulLkfWJuaLYsr6Ens7tKYWC3P7F0tC80DhB4TkzbzRI5xzEdemDErfJ5t-DyLknBQZhgFewJI9kjVJQYX0rctlhoVLIjQgjacq1NBy98VmE1FHPI-6SL2lZbevail1QL7XCG4IEhW1k3XoJIS6p12O=s16000) |
Seleccionar File/Settings |
![](https://blogger.googleusercontent.com/img/a/AVvXsEgXltumbA0rUuaxRDkEmagBjyLTg_Wuhx4__8UfjbELHV1D-iKX_taaE66tnCGHMLLEUAsfSWARUnt4SdoD3xjuSOacbgwTzkX9LyyzYR4E9KUqJpGoKD2qL6A6OygfMC1voIykNniBPUNonG6T5Vjen_6VcvevRokDwjQrsZMaOEciK6HQB5YR8cQC=s16000) |
Seleccionar Java Compiler, cambiar a la versión 11 del código destino (Target bytecode version), clic en Apply y finalmente clic en OK. |
3.4. Recargar el proyecto Maven.
![](https://blogger.googleusercontent.com/img/a/AVvXsEi1HVArgXKahB_PH1kBnA6brqwMU900pX4IvYj8gZwLeq6ocKsL6jfd-XGOM1Ovz_bxYWbOcI-23ndOKwM1HvK84yyJHm5GB9-lbNsnHN1fRnWBvgSo_wak8oBAwhFGJmUSPbKmPA_LX-ed-wFzje2AsvKeU0KUjJtWygJbq5QifHVRI78ejmv-21Yy=s16000) |
Clic derecho en el proyecto, seleccionar Maven y finalmente Reload project. |
3.5. Finalmente ejecutar el proyecto Spring Boot.
![](https://blogger.googleusercontent.com/img/a/AVvXsEjJ1TKK_9BJo2eK6cpSLShzPDv55LnJfZ5EP2hPESg1nbZ4nsMPPfVVoetTt6oZwVulRSbw1rc5GNnzjDzkzSlOSdgOb17o5AwrzjH24qfvLQ-uq3bButNQrd-Nso8WOnv2vajyXDVGy1cYeUDHUwI4JmhQVarvJ4mYnDyAutnC89m8u2LbIg1djkgE=s16000) |
Clic en la clase DemoproductosApplication.java de la aplicación y clic en ejecutar "Run" |
![](https://blogger.googleusercontent.com/img/a/AVvXsEjQNERWLeEoyVP6gZ_hcTGaSyIoZpEY9wHm3yo334wvLbedHIywtBY11zAaW-udIbqFbUm7lxBqq9ExzWpZwYQDEAJ_KqryR8YDWwW-jEc3KbYQPre6sRjhkKK7R-rN8_U3siYSwTeN5oWgNeZ0itY6b9iQn2kpWfKg2YcAZhr7ETBZmB0aS9R5hLj8=s16000) |
Proyecto en ejecución |
4. Ejecutar el servidor SonarQube
4.1. Ejecutar el StartSonat.bat
![](https://blogger.googleusercontent.com/img/a/AVvXsEiT3kKWX_Stb8DA9e8QSKkjCojLilegnXp0gFDsn8OVoq6OI_penGrQkb_xE3Mm_T60mVRMPfb5Lx5PcwGtI58OU0szIO5iXpifaLdEz4m9TWEM0shBZUPc39DmN5Qq0dXqQ6pQlKBk5tFbPTvOkXIXxSYjBOsEVYz9EE5nBYGqMNmaGlbpAWoclsx2=s16000) |
Ubicar y ejecutar el archivo StartSonat.bat |
![](https://blogger.googleusercontent.com/img/a/AVvXsEgdnPf_y-LWe95DVOCBSJf_e4vbVlvLHybq0NS-z47rDLut9G1DcRkJdNW2jBp91uSS3SEv7hYLsMJRTjI_yUZkhl8muBollEIgH_KY0QEfwOmx3sfLrOePIHOrC3J8f75ciCyb-Z5oi8pE3_X52RCZLpvMNn0IbbeAixdI89flwK69s0-n3g1y1hUx=s16000) |
Consola de SonarQube en ejecución. |
4.2. Ingresar a la url http://localhost:9000/
![](https://blogger.googleusercontent.com/img/a/AVvXsEho4386_HcEysuVrOUGFeeCMz5VGm_IImTGluURhizFOPypDhx4jevMR9wG4tGPxVpAeSSExQgeMfV31tPN_736mi2vv0Dr8ff6hHuX4LpplCIKGtFapkhU_BsWhhZ0HAR9_e48FWYrndMNyk9a-g3uSKtBIGryGTls2g4a0_IWSyj2SluT1U_4_rga=s16000) |
Ingresas las credenciales por defecto (user: admin y password: admin). En algunos casos nos pide actualizar el password. |
![](https://blogger.googleusercontent.com/img/a/AVvXsEhZfL6LQ_CPUgzMJixMR2Hz3Inf-0seMENgcv3ryVZWKn7Bo6IAh_wFCk1LhatX7aZRfS7D6-NtZwy1bquLYsyOuk7PjQbdYqhTH4kghutgI54TwcKFheWJsxhByNi1kljPlKiFjK0nBA8P3kxTau3gzNbUwrtBIA41WAaPJWzUSi-APaXMtds0DZX5=s16000) |
Entorno de SonarQube |
5. Descarga de JDK11 Oracle Y SonarQube.
Código configurado con SonarQube y Spring Boot disponible en GitHub
Gracias nuevamente 😊 comentarios y apreciaciones son bienvenido, un fuerte abrazo para todos ✌...!!!
0 Comentarios