Hudson y la integración continua

RECU-0368 (Recurso Herramienta)

Descripción

Es un sistema de integración continua de proyectos con soporte completo para proyectos Maven, Ant… Permite a los usuarios automatizar la gestión el ciclo maven de las aplicaciones, pudiendo incluir distintos alcances:

  • Compilación
  • Despliegue
  • Verificación de código estático

Hudson permite realizar una programación de todas las tareas que realiza a partir de una configuración de tiempo o basada en eventos.

Usuarios y permisos

Para la utilización de la herramienta vamos a distinguir entre los siguientes grupos de usuarios:

  • Gestor de Proyecto / Director Técnico de Proyecto
  • Equipo de Gestión de Servicios
  • Equipo de Testing (Usuario normal)
  • Equipo de Testing (Usuario privilegiado)

A continuación pasamos a describir los permisos que tendrá cada grupo.

Gestor de Proyecto / Director Técnico de Proyecto

ApartadoPermiso
GlobalLectura
TareasLectura

Con estos permisos, este grupo solo tiene acceso a las diferentes tareas de builds de los proyectos, así como al resultado de la ejecución de la misma (por ejemplo, un archivo war) y el log de ejecución.

Equipo de Gestión de Servicios

ApartadoPermiso
GlobalAdministración

Con este permiso, este grupo tiene el control completo sobre la aplicación, pudiendo realizar cualquier tarea.

Equipo de Testing

Para el Equipo Testing, se ha pensado en la creación de dos roles diferenciados, que pasamos a describir.

  • Usuario normal: Este usuario puede ejecutar las distintas tareas de build que esten dadas de alta en el sistema, así como acceder al workspace de la misma. No podrá crear ni modificar las tareas existentes, ni tampoco podrá eliminar tareas.
    ApartadoPermiso
    GlobalLectura
    TareasLectura, build y workspace
    Repositorio de softwareEtiquetado
  • Usuario Privilegiado: Este usuario puede realizar todas las tareas pertenecientes al grupo de usuarios anterior, y también puede crear nuevas tareas y modificar las existentes. La creación de este usuario tiene como objetivo dar mayor libertad al Equipo de Testing para que puedan realizar sus actividades con normalidad, a la vez que se mantiene el control sobre la configuración y creación de nuevas tareas.
    ApartadoPermiso
    GlobalLectura
    TareasLectura, crear, modificar, build y workspace
    Repositorio de softwareEtiquetado

Uso en MADEJA

Es recomendable el uso de esta herramienta para la verificación de los procesos de compilación, despliegue y verificación estática de código fuente. Entre otras ventajas te aporta mayor control sobre la estabilidad del software, así como la posibilidad de integrarse con otras herramientas del entorno de trabajo: Subversion, Artifactory, Maven, Sonar. A continuación mencionamos las características que provocan que sea muy ventajosa para las verificaciones mencionadas:

  • Posee integración con una buena variedad de software de control de versiones, en particular con Subversion.
  • También se puede trabajar sin repositorio para control de versiones, lo cual es útil cuando se tienen proyectos que no cumplan las normas generales de entrega propuestas por MADEJA.
  • Posee integración con varias herramientas de build, como por ejemplo con Maven. En caso de que se desee emplear Maven3, la versión de Hudson debe ser la 1.392 o superior.
  • Te permite descargar la última versión de una aplicación del repositorio y programar ejecuciones de scripts de compilación.
  • Existen extensiones de la herramienta, a través de plugins, que te permiten automatizar de manera sencilla el testeo de la calidad de código y reglas de estilo.

Enlaces externos

Contenidos relacionados

Recursos
Área: Verificación » Verificación de Entrega Software
Código Título Tipo Carácter
RECU-0369 Plugins de Hudson Herramienta Recomendado
Área: Entorno » Área Gestión de la Entrega
Código Título Tipo Carácter
RECU-0681 Características de Maven3 respecto a Maven2 Referencia Recomendado