logoImagina
iconCurso
Te recomendamos nuestro curso de SonarQube
Descubre el curso de SonarQube
Ir al curso
Descubre la formación a tu medida
Rellena el formulario para obtener más información sobre los cursos.
Tamaño de la empresa *
Términos y condiciones *

¿Cómo instalar SonarQube en Windows 10?

iconImage
Publicado 2024-03-07
Actualizado el 2024-04-16

Hoy volvemos al ataque con SonarQube. Ya conoces esta plataforma de software libre para evaluar código fuente que usa diversas herramientas de análisis estático de código fuente como Checkstyle, PMD o FindBugs. Con ello obtiene métricas que pueden ayudar a mejorar la calidad del código de un programa.

En este tutorial vamos a explicar cómo instalar SonarQube en Windows 10 y cómo configurarlo. Te recomendamos visitar nuestro tutorial de como instalar SonarQube en Linux si tu dispositivo tiene ese sistema operativo. Una vez tengamos todo funcionando, crearemos un proyecto Maven con Eclipse y analizaremos su código con la ayuda que nos brindan las herramientas de SonarQube.

Para seguir aprendiendo sobre esta herramienta, te recomendamos nuestro curso de SonarQube.

Instalación de SonarQube en Windows

1. Descargar SonarQube

El primero de los pasos que tenemos que realizar es descargar SonarQube en su página oficial.

2. Crear variable de entorno

Una vez se haya descargado correctamente, descomprimimos el archivo y comprobamos la ruta adecuada al sistema operativo que vamos a utilizar para desplegar SonarQube. Dado que para este tutorial, estaremos usando Windows, accederemos a la carpeta bin y dentro de ésta, accederemos a windows-x86-64 si trabajamos con 64bits, o a windows-x86-64 en caso de utilizar 32bits.

Dentro de esta carpeta encontraremos el archivo con el que iniciaremos SonarQube en nuestro entorno local. El nombre del archivo en cuestión es startsonar.bat.

El tercer paso será el de configurar las variables de entorno de nuestro sistema. Para ello, procedemos a Editar las variables de entorno del Sistema. Editamos la variable Path, del sistema o del usuario, para crear una nueva.

Obtenemos la dirección donde tenemos alojado nuestro SonarQube y creamos una nueva variable con dicha dirección. Asegúrate bien de que la dirección que introduces es la correcta.

3. Ejecutar SonarQube

Ahora ya deberíamos ser capaces de ejecutar SonarQube desde el CMD de Windows. Comprobar que en efecto, SonarQube se inicia correctamente. Para ello, se navega con la consola hasta la carpeta donde se aloja el archivo startsonar.bat y se ejecuta con el siguiente comando:

1bin\windows-x86-64\StartSonar.bat

4. Comprobar que se inicializa

Una vez lanzado, podremos acudir a la dirección http:// localhost:9000 para ver cómo se ha inicializado correctamente la aplicación de SonarQube.

Por defecto se lanzará en el puerto 9000, pero esto lo podemos modificar si acudimos al archivo de configuración sonar.properties que se encuentra en la carpeta conf de la carpeta de sonarqube-7.4 que hayamos descomprimido al inicio. El cambio de puerto se puede realizar descomentando el campo sonar.web.port y poner el que queramos.

Aquí podremos realizar login con el usuario y contraseña predefinidos: usuario: admin y contraseña: admin.

Descubre la formación a tu medida
Rellena el formulario para obtener más información sobre los cursos.
Tamaño de la empresa *
Términos y condiciones *

Creación de un proyecto Maven a través de Eclipse

En este punto ya tendríamos SonarQube inicializado y vamos a ver cómo integrarlo con un proyecto Maven de ejemplo creado con Eclipse.

Instalar Eclipse

El primer paso será el de instalar la última versión de Eclipse Photon a través del instalador de Eclipse.

Crear un proyecto Maven

Una vez instalado, iniciaremos Eclipse y crearemos un proyecto Maven que configuraremos para que SonarQube pueda analizarlo y ofrecernos información acerca de la calidad de su código, debilidades, duplicidades y riesgos.

Para facilitar la creación de un proyecto con una clase predeterminada y un archivo de test unitario, elegiremos la opción de maven-archetype-quickstart:

Le daremos un ID de Grupo (Group ID) y un ID de Artefacto (Artifact ID) para identificar nuestro nuevo proyecto Maven. Por ejemplo, podríamos definir sonar como Group ID y com.sonar.maven como Artifact ID:

Configurar Eclipse y un proyecto Maven

Una vez se haya creado el proyecto, debemos asegurarnos de un par de cosas:

  • Configurar correctamente el JDK en las preferencias de Eclipse
  • Configurar correctamente el archivo Pom.xml del proyecto para poder hacer uso de Junit para las pruebas y las configuraciones necesarias para conectar correctamente con SonarQube.

Configurar correctamente el JDK en las preferencias de Eclipse

Para poder configurar correctamente el JDK, deberemos descargarnos la última versión de JDK que se nos ofrece en la web oficial.

Una vez lo descarguemos e instalemos, deberemos asegurarnos de que tenemos bien configurado nuestro Eclipse y que usamos la JDK que hemos descargado, para ello acudimos a window > preferences y desplegamos la opción de Java, para seguido seleccionar la opción de Installed JREs.

Asegúrate también de que la variable de entorno de Java es la correcta (JAVA_HOME).

Configurar correctamente el archivo pom.xml del proyecto Maven

Ahora vamos a proceder a configurar el archivo pom.xml para utilizar algunos plugins que nos ayudarán a visualizar información en SonarQube y crear nuestros archivos de tests unitarios en el proyecto.

Deberemos asegurarnos de que el bloque Properties contiene la configuración de SonarQube necesaria para poder hacer uso de todas sus funcionalidades y definir el lenguaje que va a analizar.

properties

1<!-- Propiedades de Sonar y asignación de Plugin Jacoco para medir Coverage del código --> 2 <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> 3 <sonar.core.codeCoveragePlugin>jacoco</sonar.core.codeCoveragePlugin> 4<sonar.jacoco.reportPath>${project.basedir}/../target/jacoco.exec</sonar.jacoco.reportPath> 5 <sonar.language>java</sonar.language> </properties>

Como se puede apreciar, hemos definido dos propiedades de Sonar que hacen referencia a Jacoco. La primera de todas es codeCoveragePlugin que sirve para indicar que queremos que el Coverage (Porcentaje de código cubierto con tests unitarios) va a ser jacoco. La segunda es la propiedad jacoco.reportPath donde se define el directorio donde se aloja el ejecutable de jacoco.exec que se creará cuando Maven se descargue todas las dependencias y plugins. Además, hemos incluido la propiedad languaje como Java, ya que el proyecto estará escrito en este lenguaje.

dependencies

Ahora debemos asegurarnos de que tenemos una última versión estable de JUnit:

1<!-- Dependencia JUnit para realizar Tests Unitarios --> <dependencies> <dependency> 2 <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.12</version> 3<scope>test</scope> </dependency> </dependencies>

build

1<!-- Plugin de Maven SureFire y Jacoco para detección de Coverage por parte de SonarQube --> 2<build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> 3<artifactId>maven-surefire-plugin</artifactId> <version>2.18.1</version> </plugin> 4 <plugin> <groupId>org.jacoco</groupId> <artifactId>jacoco-maven-plugin</artifactId> 5<version>0.7.9</version> <executions> <execution> <goals> 6 <goal>prepare-agent</goal> </goals> </execution> </executions> 7 <configuration> <destFile>${sonar.jacoco.reportPath}</destFile> </configuration> 8</plugin> </plugins></build>

Como se puede apreciar, definimos el plugin de jacoco y el de maven-surefire-plugin.

Update del proyecto Maven

Una vez tengamos el archivo pom.xml deberemos actualizar el proyecto Maven para asegurarnos de que todas los cambios son reflejados correctamente.

Ahora hacemos click sobre el proyecto con el botón derecho.

Configuración de ejecución de Maven

Vamos a crear una configuración personalizada de ejecución del proyecto. Ésta contendrá un clean de Maven, para a continuación, realizar un install y lanzar sonar:sonar para desplegar la aplicación en SonarQube.

Crearemos una ejecución llamada Sonar Run definiendo el Workspace sobre el que estamos trabajando como Base Directory y como Goals incluiremos los comandos clean, install y sonar:sonar.

Le daremos a Apply y a Run para desplegar la aplicación en el servidor Sonar que deberá estar corriendo en localhost:9000.

Si has ejecutado SonarQube en un proyecto creado desde cero, no tendrás vulnerabilidades, bugs o código duplicado.

Si quieres seguir leyendo acerca de cómo usar SonarQube, puedes consultar nuestro tutorial: ¿Qué es SonarQube? Descubre la herramienta clave para desarrolladores.

Curso SonarQube

No pierdas la oportunidad de mejorar tus habilidades de programación y aprende a utilizar SonarQube de manera efectiva con nuestro curso especializado. ¡Contáctanos para obtener más información!

Descubre la formación a tu medida
Rellena el formulario para obtener más información sobre los cursos.
Tamaño de la empresa *
Términos y condiciones *
iconClienticonClienticonClienticonClienticonClienticonClienticonClienticonClienticonClienticonClienticonClienticonClienticonClienticonClienticonClienticonClienticonClienticonClienticonClienticonClienticonClienticonClient