Migrar SonarQube de Tomcat a un servicio Windows

SonarQubeService

Como ya mencionado, SonarQube no estará más disponible para Tomcat, pero sólo como un servicio de Windows. Eso significa que voy a tener que migrar mi plataforma SonarQube / Jenkins.

Pues hay algunas preguntas: ¿Voy a perder mi configuración? ¿Y mi análisis? SonarQube utiliza una base de datos para almacenar los resultados de los análisis, por lo que se puede esperar mantenerlos y su historia.

Pero ¿Qué pasa con la configuración de mi SonarQube? ¿Voy a tener que volver a instalar mis plugins? Maldita sea ¿dónde puse las llaves de licencia para estos plugins? Y mis Quality Profiles? ¿Se almacenan en la base de datos o en algún archivo?

¿En qué orden debo hacer esta migración: primero Jenkins y a continuación comprobar si el es todavía capaz de reconocer SonarQube y seguir con los proyectos existentes? De hecho, voy a empezar por SonarQube porque es mucho más sencillo que Jenkins.

Luego veremos como migrar también a Jenkins, para finalmente deshacernos de Tomcat.

Migrar SonarQube a un servicio Windows

Objetivos

Primero, mi versión actual de SonarQube es una 3.5.1. Hay una nueva versión 3.7 … en el momento en que escribo este post, ya que cambia muy rápidamente. El team SonarSource es altamente productivo. Esta última versión tiene muchas nuevas características, pero será objeto de futuros posts.

También será una oportunidad para comprobar cómo actualizar una versión SonarQube instalada como un servicio. Si te interesa el tema, hemos visto cómo llevar a cabo dicha actualización en este post: Sonar Upgrade.

También voy a limitarme a una migración SonarQube en este post, es decir a una instalación como un servicio Windows y asegurarme de que puedo seguir trabajando con mi repositorio existente: mi cuadro de mando, mis análisis, mi configuración, etc. Veremos en el próximo post los cambios que realizar en mi actual Jenkins (bajo Tomcat) para trabajar con mi nuevo servicio SonarQube.

Documentación

Como todo buen informático (hum, hum), nunca leo la documentación, y menos las de instalación. Me parece muy poco natural que un software no sepa instalarse solo (sabes, ‘Next’, ‘Next’, ‘Next’, …) y requiere primero de leer un manual de instalación. Sin embargo, ya que no aconsejo hacer lo mismo, aquí está el enlace en el sitio SonarSource: http://docs.codehaus.org/display/SONAR/Running+SonarQube+as+a+Service+on+Windows.

Bueno, parece super-sencillo:

Sonar_InstallWinService

Instalación

Primero voy a para Tomcat para asegurarme de no trabajar con mi actual SonarQube (una webapp de Tomcat).

Stop_Tomcat

Luego, me pongo en una ventana DOS para ir al directorio de mi instalación SonarQube.

Sonar_Bin

Mi versión actual es una 3.5.1. En la carpeta \sonar-3.5.1\bin, puedo encontrar dos sub-directorios ‘windows-x86-32’ y ‘windows-x86-64’, este ultimo para una instalación Windows 64 bits.

Sonar_InstallWinService2

No entraré en los detalles de lo que hace este programa .bat. Vamos a seguir la recomendación de la documentación y ejecutar este programa como Administrador.

Es muy rápido. En la ventana de Servicios Windows, podemos comprobar que aparece el servicio SonarQube.

Sonar_Service

Se puede lanzar este servicio con un ‘Start’ en esta ventana, o desde el fichero ‘startNTService’ en la carpeta anterior, en la ventana DOS:

sonar_Runservice1

Pero me sale el siguiente mensaje de error:

Sonar_ServiceLaunchError

Lo mismo si intento hacer un ‘Start’ del servicio SonarQube:

Sonar_ServiceLaunchError2

Sonar_ServiceProp1

Ahora, si abrimos las ‘Properties’ del servicio (click derecha en el servicio para conseguir el menú siguiente)…

 

 

 

 

…y poder entrar en la pestaña ‘Log On’.

Sonar_ServiceProp2

Seleccionar ‘This account’, luego activar el botón ‘Browse…’ :

Sonar_ServiceProp3

En la siguiente ventana, activar el botón ‘Advanced…’.

Sonar_ServiceProp4a

Y ‘Find Now’ para conseguir la lista de los usuarios para conectarse (Log On) y lanzar el servicio.

Sonar_ServiceProp4

Voy a seleccionar mi usuario Windows con cual encendió mi maquina:

Sonar_ServiceProp5

Validar con el botón ‘OK’. Puedes notar el nombre de mi maquina (JPFPC).

Sonar_ServiceProp6

‘OK’ de nuevo para regresar en la pestaña ‘Log On’, en la cual podemos entrar la contraseña de mi usuario. Botón ‘Apply’ y luego ‘OK’ para salir de la ventana Properties.

Si ahora lanzamos de nuevo el servicio SonarQube … ¡Yes! El mensaje de error ha desaparecido y el servicio está en el estado ‘Started’.

Verificación

SonarQubeURL

El nuevo dashboard SonarQube – como servicio Windows – es disponible en la dirección localhost:9000. Entrar esta url en el navegardor para ver aparecer el dashboard tal como lo hemos dejado.

Puedes comprobar: tus análisis están presentes, los plugins también y activos (no hay necesidad de volver a introducir la licencia). Toda tu configuración SonarQube tal como era en Tomcat, todos tus proyectos, bueno, el  repositorio SonarQube completo está disponible y listo para su uso.

Nos queda por realizar un análisis de nuestro actual Jenkins en Tomcat..

Lo que veremos en el próximo post. Hasta luego.

Esta entrada está también disponible en Lire cet article en français y Read that post in english.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *