Jenkins – Instalación

Este post tiene como objetivo presentar la instalación de Jenkins. Será la oportunidad de detallar la resolución de algunos problemas específicos a nuestro entorno.

Instalación de Jenkins

Existen varias maneras de instalar Jenkins. Con arreglo a nuestro entorno, escogimos descargar desde el sitio Jenkins un fichero jenkins.war.

Así como en la instalación de Sonar, nos basta con copiar este fichero bajo C:\Program Files (x86)\Apache Software Foundation\Tomcat 7.0\webapps, (re-)iniciar Tomcat, luego de lanzar Jenkins desde su url y…

Nada. Mi navegador se esta ejecutando, trabajando, esperando, … Detener y reiniciar Tomcat no funciona. Sonar incluso que estaba disponible anteriormente ya no se inicia más.

Si miramos en el repertorio ..\Apache Software Foundation\Tomcat 7.0\logs, nos dimos cuenta de un fichero tomcat7-stderr.xx.log (xx siendo la fecha del día) y si lo abrimos, observamos uno (o varios) mensaje(s) java.lang. OutOfMemoryError: PermGen space.

Necesitamos actualizar nuestra configuración Tomcat, de la manera siguiente:

  • Lanzar Tomcat7w.exe.
  • En la pestaña Java, entrar la opción siguiente -XX:MaxPermSize=256m.


Podemos ahora reiniciar Tomcat y acceder a Jenkins. Observe mi interfaz en español: la lengua se ajusta automáticamente de acuerdo a la variable correspondiente del navegador.

Bien. La primera cosa a hacer es echar un vistazo a la configuración de Jenkins, lo que permite el menú ‘Administrar Jenkins’.

Configuración de Jenkins

En la página de administración, un mensaje nos advierte de que Tomcat no es compatible UTF-8. Sin entrar en detalles, un enlace Tomcat i18n conduce directamente a la página de ayuda correspondiente del sitio web de Jenkins, en el que descubrir la manera de resolver este problema:

  • En el directorio ..\Apache Software Foundation\Tomcat 7.0\conf, buscar el archivo server.xml.
  • En este archivo, encontramos la sección Connector donde insertar el siguiente attributo: URIEncoding=»UTF-8″. Así es como se ve en mi archivo:

Stop / Start del servicio Tomcat y de vuelta en la página de administración de Jenkins, el mensaje de error desapareció.

Ahora vamos a ver las opciones de configuración: lo primero que notamos es que Jenkins se instaló en un directorio C: \. Jenkins. Vaya, no es exactamente lo que quiero. Yo prefiero centralizar mi entorno de análisi en un disco dedicado a esto. Vamos a ver cómo cambiar la ubicación del ‘repositorio’ Jenkins

Es necesario especificar la variable JENKINS_HOME. Dos maneras de proceder, para una instalación tal como la nuestra. La primera es incorrecta, pero lo preciso sin embargo porque esta información no es fácil de encontrar:

  • En el directorio \Apache Software Foundation\Tomcat 7.0\webapps\jenkins\WEB-INF, buscar el archivo web.xml que constituye el punto de entrada de la aplicación Jenkins.
  • En este archivo, insertar la sección siguiente para declarar la variable JENKINS_HOME con un directorio F:\Jenkins.Evitar por completo esta manera de proceder ya que este archivo – y por lo tanto nuestra modificación – se sobrescribirán cuando se instala un nuevo jenkins.war durante una actualización de versión, por ejemplo. Así que a menos que quieras hacer este cambio con cada nueva instalación, es mejor hacer lo siguiente:
  • En el directorio \Apache Software Foundation\Tomcat 7.0\conf, buscar el fichero context.xml y insertar la siguiente línea:

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

Esta vez, declaramos nuestro ‘repositorio’ en C:\SRC\Jenkins, directamente al nivel de Tomcat y no en el webapp Jenkins.

Es recomendado escoger bien esta ubicación antes de instalar el plugin Sonar o de comenzar a trabajar con Jenkins. De hecho, si se cambia el ‘home’ de Jenkins, éste crea un nuevo entorno y pierdes la configuración existente (excepto desplazar el repositorio actual hacia el nuevo emplazamiento).

El próximo post tratará de la instalación del plugin Jenkins para Sonar.

Deja una respuesta

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