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:
Instalación
Primero voy a para Tomcat para asegurarme de no trabajar con mi actual SonarQube (una webapp de Tomcat).
Luego, me pongo en una ventana DOS para ir al directorio de mi instalación SonarQube.
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.
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.
Se puede lanzar este servicio con un ‘Start’ en esta ventana, o desde el fichero ‘startNTService’ en la carpeta anterior, en la ventana DOS:
Pero me sale el siguiente mensaje de error:
Lo mismo si intento hacer un ‘Start’ del servicio SonarQube:
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’.
Seleccionar ‘This account’, luego activar el botón ‘Browse…’ :
En la siguiente ventana, activar el botón ‘Advanced…’.
Y ‘Find Now’ para conseguir la lista de los usuarios para conectarse (Log On) y lanzar el servicio.
Voy a seleccionar mi usuario Windows con cual encendió mi maquina:
Validar con el botón ‘OK’. Puedes notar el nombre de mi maquina (JPFPC).
‘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
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.