Instalar SonarQube – Jenkins

Install JenkinsEn esta serie de posts sobre la instalación y configuración de SonarQube, hemos visto cómo realisar un análisis de código con el SonarQube Runner.

Hoy vamos a ver cómo instalar y configurar Jenkins para gestionar todos nuestros análisis.

También será una oportunidad para ver la resolución de algunos problemas específicos de nuestro entorno, y ver la forma de detectar estos problemas con el servidor Tomcat, que hemos en un post anterior aquí.

Instalar Jenkins

Download JenkinsVamos a instalar Jenkins como lo hemos hecho para SonarQube con un archivo .war,

Que descargamos desde la pagina principal de Jenkins.

Voy a guardar este archivo ‘jenkins.war’ en una carpeta dedicada a la gestión de mis diferentes versiones de SonarQube, sus plugins, y Jenkins, antes de copiarla en el directorio de Tomcat ‘C:\Program Files (x86)\Apache Software Foundation\Tomcat 7.0\webapps’.

Tomcat desplegará a continuación este archivo .war en una aplicación web, que luego podemos acceder desde nuestro navegador con la siguiente url http://localhost:8888/jenkins/. Recodemosnos que 8888 es el puerto elegido durante la instalación de Tomcat.

Log de errores Tomcat

Mi navegador se está ejecutando unos minutos … y luego muestra el siguiente error : ‘PermGen space’.

Jenkins erreur PermGen Space

Esto nos permite ver cómo identificar un problema con Tomcat. Los archivos de logs se encuentran en el directorio ‘..\Apache Software Foundation\Tomcat 7.0\logs’. Hay diferentes ficheros, pero en caso de error, se debería encontrar un archivo ‘tomcat7-stderr.xx.log’ (xx representa la fecha).

Cuando se abre este fichero, se puede ver la causa del error: ‘java.lang.OutOfMemoryError: PermGen space’.

No es muy explicito pero sin entrar en detalles, el ‘PermGen space’ es la memoria reservada para el almacenamiento de las clases Java y la información relacionada con ellas. Tenemos que cambiar nuestra configuración de Tomcat, de la siguiente manera:

  • Ejecutar el fichero ‘Tomcat7w.exe’ (está localizado en la carpeta ‘..\Apache Software Foundation\Tomcat 7.0\bin’).
  • En la pestaña Java, entrar la siguiente opción: -XX:MaxPermSize=256m.

Tomcat PermGen space

JenkinsMenuNo te olvides de hacer clic en el botón ‘Aplicar’ y luego en ‘Aceptar’ para salir. Hay que hacer un arranque (Stop / Start) del servicio Tomcat.

Luego, puedes actualizar Jenkins en tu navegador. Et voilá: la pantalla principal Jenkins finalmente aparece.

Puedes ver que mi interfaz está en español: Jenkins detecta automáticamente el idioma que se debe utilizar con la variable correspondiente en tu navegador (y sí, yo vivo en Madrid).

Bueno. Vamos a echar un vistazo a la configuración de Jenkins, en el menú / el enlace Administración (‘Administrar Jenkins en mi caso)..

Configurar Jenkins

En la página de administración, un mensaje me dice que el contenedor de servletses decir, Tomcatno respecta el estándar UTF8, lo que podría causar problemas con caracteres no ASCII (como es el caso en españa, por ejemplo).

Vamos a resolver este problema de la siguiente manera:

  • En la carpeta ‘..\Apache Software Foundation\Tomcat 7.0\conf’, buscar el archivo ‘server.xml’.
  • En este fichero, buscar la sección ‘Connector’ e insertar la siguiente linea:

URIEncoding=”UTF-8”

Esta linea en mi fichero:

JenkinsConfigurationUTF8

De nuevo, hacer un Restart (Stop / Start) del servicio Tomcat y comprobar que el mensaje de error ha desaparecido.

Desde esta página, ahora seleccionamos el primer menu: Configurar El Sistema‘ en español).

La primera línea de esta página de configuración no indica que Jenkins se instala en el directorio C:\Jenkins’. Esto no me conviene en absoluto. Quiero centralizar todos mis softwares en un directorio C:\Soft‘ y todo lo relacionado con mis análisis en un directorio C:\SRC” (por ejemplo). Así que necesito cambiar el parámetro de ubicación del “repositorio Jenkins.

Hay que especificar una variable ‘HOME JENKINS, de la siguiente manera: en el directorio ‘..\Apache Software Foundation\Tomcat 7.0\conf, buscar el archivo context.xmle insertar la siguiente línea:

<Environment name=”JENKINS_HOME” value=”C:/SRC/Jenkins/” type=”java.lang.String”/>

Cuidado con la carpeta que vas a escoger: si la cambias después, perderás toda la configuración de Jenkins y hasta lo que se ha instalado, como por ejemplo el plugin SonarQube pour Jenkins.

Plugin que vamos a instalar en un 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 *