Plugins de Hudson

RECU-0369 (Recurso Herramienta)

Descripción

Hudson es una herramienta de integración continua que permite su extensión a través de plugins. A continuación vamos a mencionar algunos de los que resultan más útiles desde el punto de vista de las verificaciones.

Artifactory plugin

Gracias a este plugin se puede automatizar la subida de librerías a una instancia de Artifactory en ejecución. Para utilizarlo, es necesario instalarlo desde el Plugin Manager en la zona de Administración.

Una vez instalado, se procederá a configurar las distintas instalaciones de Artifactory que dispongamos. Para ello iremos a la zona de Administración, apartado Configuración del Sistema y en la sección Artifactory, añadiremos los parámetros necesarios para realizar la configuración, que son:

  • URL: La URL donde tenemos desplegado artifactory.
  • USER NAME: Usuario administrador para acceder a Artifactory. Este usuario no tiene por qué ser el mismo que realizará el despliegue, ya que ese usuario se configurará en las propiedades del proyecto.
  • PASSWORD: Password del usuario anterior.

Se puede configurar tantas instancias como queramos.

Una vez añadidos los servidores a utilizar, solo tendremos que activar el plugin en el proyecto que deseemos. Para ello, iremos a la sección Acciones para ejecutar después (Post-build Actions) y marcar la casilla Deploy artifacts to Artifactory. A continuación, en un combo, seleccionaremos un servidor previamente configurado. En Target repository, seleccionaremos el repositorio donde se subirá la librería y por último el usuario a que realizará el despliegue, que recordemos, no tiene por qué ser el mismo usuario que se utilizó para configurar el servidor.

Deploy Plugin

Con este plugin se puede automatizar el despliegue de una aplicación Web (war o ear) en un contenedor o servidor de aplicaciones J2EE. Actualmente, el plugin soporta los siguientes contenedores/servidores:

Glassfish 2.x

Jboss 3.x

Jboss 4.x

Jboss 5.x

Tomcat 4.x

Tomcat 5.x

Tomcat 6.x

La instalación del plugin se realizará desde el Plugin Manager situado en la zona de Administración. Seleccionar el plugin Deploy to a container plugin.

Una vez instalado, seleccionaremos en el proyecto donde queramos utilizar la opción Deploy war/ear to a container en la sección Acciones para ejecutar después (Post-build Actions). Los parámetros a utilizar son los siguientes:

  • WAR/EAR Files: El fichero a desplegar. Se pueden utilizar comodines, por ejemplo "**/*.war".
  • Container: Contenedor y versión donde se realizará el despliegue.
  • Manager Username: Nombre usuario administrador del contenedor para realizar el despliegue. Ver la documentación del contenedor para activar un usuario que pueda realizar dicha función.
  • Manager password: Password del usuario anterior.
  • URL: URL del contenedor.

Configure M2 Extra Build Steps Plugin

Con este plugin se pueden ejecutar distintos tipos de tareas antes y después de la construcción de un proyecto Maven. Las tareas pueden ser la ejecución de una orden de la shell, la ejecución de una tarea Maven de orden superior, tareas Ant, étc. Puede resultarnos útil para realizar backups de forma automatizada con vistas a utilizar el plugin de Deploy

Se instala desde el Plugin Manager, en la zona de Administración. El nombre completo del plugin es Configure M2 Extra Build Steps Plugin. Una vez instalado, seleccionaremos en el proyecto donde vayamos a hacer uso del plugin, la opción Configure M2 Extra Build Steps en la sección Entorno de ejecución.

Vamos a ver un ejemplo sencillo de configuración, que lo que hará será ejecutar un script en una máquina remota para realizar el backup de un despliegue en curso antes de realizar la actualización del mismo: Para ello, activaremos la casilla Configure M2 Extra Build Steps y en la sección Steps to run before mvn build seleccionaremos vía combo la opción Ejecutar linea de comandos (shell). A continuación, teclear el comando a ejecutar, por ejemplo:

rlogin usuario@maquina '/ruta/script/backup.sh'

Con esto conseguiremos, que antes de empezar la compilación del proyecto, se ejecute la linea de comandos anterior que realiza la llamada al script backup.sh en una máquina remota.

Conviene tener en cuenta que es necesario establecer algún tipo de mecanismo passwordless para que al ejecutar el comando rlogin no se pida el nombre de usuario y contraseña. Se podría establecer como mecanismo autenticación el intercambio de claves RSA.

Sonar Plugin

Este plugin consigue la integración entre Sonar y Hudson, lo que te permite activar el analisis sonar despues de cada compilación.

Se instala desde el Plugin Manager, en la zona de Administración, basta con elegir SONAR Plugin dentro de la pestaña de Todos los plugins. Para que tengan efectos los cambios será necesario reiniciar el servidor.

Cuando el plugin ha sido instalado procedemos con la configuración indicándole los datos del servidor de SONAR y de su base de datos. En la zona de Administración de Hudson seleccionamos Configurar el sistema, en la sección Sonar presionamos el botón Add Sonar. Para configurar todas las propiedades de Sonar, presionamos el botón Avanzado y completamos la siguiente información:

  • Name: Seleccione el nombre que desee para el servidor. Por ejemplo sonar-1.11.
  • URL del Servidor: URL para acceder el servidor por HTTP.
  • URL pública del servidor: No es necesario ingresar nada.
  • URL de la base de datos: URL de la base de datos instalada.
  • Usuario de la base de datos: Usuario de conexión a la base de datos.
  • Contraseña de la base de datos: Contraseña del usuario.
  • Controlador (Driver) para la base de datos: Driver JDBC de la conexión.
  • Propiedades adicionales: No es necesario.
  • Ejecutores: Deje los valores por defecto.

Guardando esta configuración ya podemos puede configurar las tareas programadas para que se integren con Sonar. Conviene tener en cuenta la asignación de los privilegios necesarios para el uso de usuario y host remoto.

Enlaces externos

Contenidos relacionados

Recursos
Área: Verificación » Verificación de Entrega Software
Código Título Tipo Carácter
RECU-0368 Hudson y la integración continua Herramienta Recomendado