Está en la página 1de 10

25/8/2015 SonarQube: instalación y configuración | Enrikus' Blog

Enrikus' Blog
{ Blog de un informático }

SonarQube: instalación y configuración


Hace poco que he empezado a usar SonarQube y la verdad es que me están
gustando mucho las posibilidades que ofrece. En este post voy a hablar acerca de
esta herramienta y voy a comentar paso a paso el proceso de instalación y
configuración del mismo. El proceso de análisis lo dejaré para otro post para no
hacer demasiado largo este.

SonarQube es una plataforma para evaluar código fuente. Es software libre y usa
diversas herramientas de análisis estático de código fuente como Checkstyle, PMD
o FindBugs para obtener métricas que pueden ayudar a mejorar la calidad del
código de nuestros programas. Además, tiene soporte para más de 20 lenguajes de
programación entre los que se encuentran Java, C#, C / C++, PL / SQL, Cobol, ABAP,
Python, JavaScript…

http://enrikusblog.com/sonarqube­instalacion­y­configuracion/ 1/10
25/8/2015 SonarQube: instalación y configuración | Enrikus' Blog

SonarQube cubre 7 ejes principales de la calidad del software y una vez


analizado un proyecto nos muestra información detallada sobre la arquitectura y
el diseño, comentarios de nuestro programa, código duplicado, reglas de
programación acordes con el lenguaje que estemos utilizando, bugs potenciales y
su posible solución, datos referentes a la complejidad del proyecto e incluso datos
sobre pruebas unitarias (si tenemos alguna), como número de pruebas unitarias
pasadas correctamente o porcentaje de cubrimiento de las mismas.

SonarQube está pensado para ofrecer un seguimiento a lo largo del desarrollo


y/o mantenimiento de un programa informático y apoyar a la mejora continua.
Sin embargo, también puede ser utilizado para realizar análisis aislados y
obtener informes acerca de nuestros proyectos.

Pasos previos

Antes de comenzar con la instalación y configuración de SonarQube hay que


instalar una base de datos. SonarQube viene por defecto configurado para
utilizar H2, que es una base de datos embebida y que solo está recomendada para
pruebas. SonarQube es compatible con varios sistemas gestores de bases de datos
como MySQL 5.x, Oracle 10g/ 11g, PostgreSQL 8.x/ 9.x y Microsoft SQLServer.
En nuestro caso realizaremos la instalación utilizando MySQL 5.6, que
previamente deberá estar instalado en el sistema.

Lo primero que hay que hacer es crear un nuevo esquema y un usuario con
permisos para crear, actualizar y eliminar objetos de este esquema. En mi caso
tanto el esquema como el usuario se van a llamar sonarqube.

El script SQL para crear el esquema y el usuario es el siguiente:

1 CREATE DATABASE sonarqube CHARACTER SET utf8 COLLATE utf8_general_ci;
http://enrikusblog.com/sonarqube­instalacion­y­configuracion/ 2/10
25/8/2015 SonarQube: instalación y configuración | Enrikus' Blog

2 CREATE USER 'sonarqube' IDENTIFIED BY 'sonarqube';
3 GRANT ALL ON sonarqube.* TO 'sonarqube'@'%' IDENTIFIED BY 'sonarqube'
4 GRANT ALL ON sonarqube.* TO 'sonarqube'@'localhost' IDENTIFIED BY 
5 FLUSH PRIVILEGES;

Un vez tengamos creado el esquema y el usuario podemos comenzar con la


instalación de SonarQube.

Instalación del Servidor Web de SonarQube

1. Vamos a la página oficial de descarga SonarQube y descargamos la última


versión del servidor (SonarQube v4.0).
2. Descomprimimos el archivo .zip en C:\ para tenerlo fácilmente accesible.
3. Editamos el archivo sonar.properties para configurar el acceso a la base de
datos. El archivo se encuentra en C:\sonarqube-4.0\conf\sonar.properties.
Dentro del archivo de configuración hay que comentar la siguiente línea para
no utilizar el SGBD de H2.

1 #sonar.embeddedDatabase.port=9092

Descomentamos las siguientes líneas y asignamos los siguientes valores para


indicar al servidor web de SonarQube qué base de datos vamos a utilizar, los
datos del usuario y contraseña de la base de datos y la información del
servidor web donde se ejecutará una vez esté instalado. Por defecto se ejecuta
sobre localhost con el puerto 9000.

1 # DATABASE
2 sonar.jdbc.username=sonarqube
3 sonar.jdbc.password=sonarqube
4  
5 #‐‐‐‐‐ MySQL 5.x
6 sonar.jdbc.url=jdbc:mysql://localhost:3306/sonarqube?useUnicode=
7  
8 # WEB SERVER
9 sonar.web.host=localhost
10 sonar.web.port=9000

4. El último paso consiste en ejecutar el servidor de SonarQube. En mi caso voy a


ejecutar la versión de 32 bits de Windows y la ruta es la siguiente:
C:\sonarqube-4.0\bin\windows-x86-32\StartSonar.bat.

La primera vez que arrancamos el servidor de SonarQube puede tardar un par


http://enrikusblog.com/sonarqube­instalacion­y­configuracion/ 3/10
25/8/2015 SonarQube: instalación y configuración | Enrikus' Blog

de minutos porque tiene que crear las tablas en la base de datos. Si todo ha ido
bien se debería mostrar un mensaje indicando que el servidor está arrancado:

Ahora vamos a comprobar en nuestro navegador que SonarQube se encuentra


disponible, para ello vamos a http://localhost:9000/ y se deberá mostrar la página
de inicio del servidor de SonarQube:

Esto significa que ya tenemos nuestro servidor de SonarQube listo para


funcionar.

Instalación del plugin para el lenguaje de


programación

http://enrikusblog.com/sonarqube­instalacion­y­configuracion/ 4/10
25/8/2015 SonarQube: instalación y configuración | Enrikus' Blog

Antes de poder analizar el código de nuestros proyectos con Sonar-Runer (cliente


oficial de SonarQube) es necesario instalar en el servidor el plugin para el
lenguaje que queramos analizar.

Accedemos al servidor desde http://localhost:9000/ y nos logeamos como


administrador (admin/admin).

Vamos a Settings > Update Center y veremos que por defecto ya viene instalado
el plugin para Java. Se pueden instalar plugins para diversos lenguajes o incluso
actualizarlos a una versión más reciente. Para ello solo tenemos que hacer click
en Available Plugins y seleccionar el que queramos.

Instalación y configuración de Sonar-Runner

Una vez tengamos listo el servidor con los plugins necesarios es hora instalar un
cliente para poder analizar el código. Para este tutorial voy a utilizar Sonar-
Runner que es el cliente oficial de SonarQube.

1. Vamos a la página oficial de descarga SonarQube y descargamos la última


http://enrikusblog.com/sonarqube­instalacion­y­configuracion/ 5/10
25/8/2015 SonarQube: instalación y configuración | Enrikus' Blog

versión del cliente (Sonar-Runner v2.3).


2. Descomprimimos el archivo .zip en C:\ para tenerlo fácilmente accesible.
3. Para configurar Sonar-Runner tenemos que ir a C:\sonar-runner-2.3\conf y
editar el archivo sonar-runner.properties. Tenemos que descomentar las
siguientes líneas y completarlas con los datos de la configuración del servidor
que hemos empleado en la instalación del mismo:

1 #‐‐‐‐‐ Default SonarQube server
2 sonar.host.url=http://localhost:9000
3  
4 #‐‐‐‐‐ MySQL
5 sonar.jdbc.url=jdbc:mysql://localhost:3306/sonarqube?useUnicode=true
6  
7 #‐‐‐‐‐ Global database settings
8 sonar.jdbc.username=sonarqube
9 sonar.jdbc.password=sonarqube

Añadimos una nueva variable del sistema llamada SONAR_RUNNER_HOME con el


directorio de instalación:

Añadimos la ruta completa al path de Windows:

Para comprobar si se ha añadido correctamente al path de Windows abrimos un


terminal y ejecutamos el comando sonar-runner –h. Si todo es correcto
deberíamos obtener la ayuda de Sonar-Runner:

http://enrikusblog.com/sonarqube­instalacion­y­configuracion/ 6/10
25/8/2015 SonarQube: instalación y configuración | Enrikus' Blog

Ya tenemos instalado y configurado tanto el servidor como el cliente de


SonarQube y podemos empezar a analizar nuestros proyectos.

El proceso de análisis de un proyecto lo podeís encontrar en el siguiente post.

Más información en la web de SonarQube y en la documentación

COMPÁRTELO:

 3     Más

 28 diciembre, 2013  Enrikus  Software, Tutoriales  SonarQube

5 comentarios sobre “SonarQube: instalación y configuración”

Pingback: SonarQube: Instalación y configuración - Javier Alvarez Caballero

Gonzalo Pazos
10 febrero, 2015 a las 18:19

Hola
buen post me sale que el servidor esta iniciado todo bien pero cuando entro al
localhost:9000
sale:
http://enrikusblog.com/sonarqube­instalacion­y­configuracion/ 7/10
25/8/2015 SonarQube: instalación y configuración | Enrikus' Blog

org.jruby.rack.RackInitializationException: no connection available


from arjdbc/jdbc/RubyJdbcConnection.java:517:in `set_native_database_types’
from C:/sonarqube-4.0/web/WEB-INF/gems/gems/activerecord-jdbc-adapter-
1.1.3/lib/arjdbc/jdbc/connection.rb:61:in `initialize’
from C:/sonarqube-4.0/web/WEB-INF/gems/gems/activerecord-jdbc-adapter-
1.1.3/lib/arjdbc/jdbc/adapter.rb:31:in `initialize’
from C:/sonarqube-4.0/web/WEB-INF/gems/gems/activerecord-jdbc-adapter-
1.1.3/lib/arjdbc/jdbc/connection_methods.rb:6:in `jdbc_connection’
from org/jruby/RubyKernel.java:2225:in `send’
from C:/sonarqube-4.0/web/WEB-INF/gems/gems/activerecord-
2.3.15/lib/active_record/connection_adapters/abstract/connection_pool.rb:223:in
`new_connection’
from C:/sonarqube-4.0/web/WEB-INF/gems/gems/activerecord-
2.3.15/lib/active_record/connection_adapters/abstract/connection_pool.rb:245:in
`checkout_new_connection’
from C:/sonarqube-4.0/web/WEB-INF/gems/gems/activerecord-
2.3.15/lib/active_record/connection_adapters/abstract/connection_pool.rb:188:in
`checkout’
from org/jruby/RubyKernel.java:1517:in `loop’
from C:/sonarqube-4.0/web/WEB-INF/gems/gems/activerecord-
2.3.15/lib/active_record/connection_adapters/abstract/connection_pool.rb:184:in
`checkout’
from jar:file:/C:/sonarqube-4.0/web/WEB-INF/lib/jruby-complete-1.7.6.jar!/META-
INF/jruby.home/lib/ruby/1.8/monitor.rb:191:in `mon_synchronize’
from C:/sonarqube-4.0/web/WEB-INF/gems/gems/activerecord-
2.3.15/lib/active_record/connection_adapters/abstract/connection_pool.rb:183:in
`checkout’
from C:/sonarqube-4.0/web/WEB-INF/gems/gems/activerecord-
2.3.15/lib/active_record/connection_adapters/abstract/connection_pool.rb:98:in
`connection’
from C:/sonarqube-4.0/web/WEB-INF/gems/gems/activerecord-
2.3.15/lib/active_record/connection_adapters/abstract/connection_pool.rb:326:in
`retrieve_connection’
from C:/sonarqube-4.0/web/WEB-INF/gems/gems/activerecord-
2.3.15/lib/active_record/connection_adapters/abstract/connection_specification.rb:
123:in `retrieve_connection’
from C:/sonarqube-4.0/web/WEB-INF/gems/gems/activerecord-
2.3.15/lib/active_record/connection_adapters/abstract/connection_specification.rb:
http://enrikusblog.com/sonarqube­instalacion­y­configuracion/ 8/10
25/8/2015 SonarQube: instalación y configuración | Enrikus' Blog

115:in `connection’
from C:/sonarqube-4.0/web/WEB-INF/gems/gems/activerecord-
2.3.15/lib/active_record/migration.rb:440:in `initialize’
from C:/sonarqube-4.0/web/WEB-INF/gems/gems/activerecord-
2.3.15/lib/active_record/migration.rb:401:in `up’
from C:/sonarqube-4.0/web/WEB-INF/gems/gems/activerecord-
2.3.15/lib/active_record/migration.rb:383:in `migrate’
from C:/sonarqube-4.0/web/WEB-INF/config/../lib/database_version.rb:62:in
`upgrade_and_start’
from C:/sonarqube-4.0/web/WEB-INF/config/../lib/database_version.rb:74:in
`automatic_setup’
from C:/sonarqube-4.0/web/WEB-INF/config/environment.rb:236:in `(root)’
from org/jruby/RubyKernel.java:1096:in `load’
from file:/C:/sonarqube-4.0/web/WEB-INF/lib/jruby-rack-
1.1.13.2.jar!/jruby/rack/rails/environment2.rb:1:in `(root)’
from file:/C:/sonarqube-4.0/web/WEB-INF/lib/jruby-rack-
1.1.13.2.jar!/jruby/rack/rails/environment2.rb:25:in `load_environment’
from file:/C:/sonarqube-4.0/web/WEB-INF/lib/jruby-rack-
1.1.13.2.jar!/jruby/rack/rails_booter.rb:79:in `load_environment’

quisiera saber como soluciono esto

Luis Del Castillo


24 abril, 2015 a las 22:22

Hola buenas tardes.

A mi también me salia ese error, tienes que verificar que el archivo


sonar.properties este configurado correctamente según la base de datos a la
cual te vas a conectar.
Yo utilice una base de datos Oracle 11g Express Edition y cuado coloque la
siguiente linea
sonar.jdbc.url: jdbc:oracle:thin:@localhost:1521/XE

en el archivo sonar.properties me funciono, ya no salio el error.

Cordialmente.
http://enrikusblog.com/sonarqube­instalacion­y­configuracion/ 9/10
25/8/2015 SonarQube: instalación y configuración | Enrikus' Blog

Luis.

Ariana Infante
19 mayo, 2015 a las 23:21

Hola, buenas tardes…


Luego que realizo todos los pasos para la instalacion de sonarqube y ejecuto
C:\sonarqube-4.0\bin\windows-x86-32\StartSonar.bat. arraca y luego se cierra sin
mostrar nada. Ingreso al http://localhost:9000/ y no carga.

Me podrian ayudar!
Gracias de antemano.

Leandro
7 agosto, 2015 a las 19:26

Para los que les sale el error:

org.jruby.rack.RackInitializationException: no connection available


from arjdbc/jdbc/RubyJdbcConnection.java:517:in `set_native_database_types’
from C:/sonarqube-4.0/web/WEB-INF/gems/gems/activerecord- ETC….

Yo lo solucione asi:
sonar.jdbc.url=jdbc:mysql://localhost:3306/sonarqube?
useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true

Hay que configurar bien sonar.properties

Creado con WordPress

http://enrikusblog.com/sonarqube­instalacion­y­configuracion/ 10/10

También podría gustarte