Introducción
- Los distintos tipos de entorno: desarrollo, aceptación, producción.
- Gestión de la configuración: sistema y aplicación.
- El papel de los contenedores de aplicaciones : Docker.
- Centralización de configuraciones: puppet, Ansible.
- Industrialización de los despliegues.
- Creación de una plataforma de integración continua.
Gestión de versiones
- Las características.
- Los distintos gestores de fuentes: centralizados o distribuidos.
- Los problemas de la integración del cambio.
- El papel de las ramas y las etiquetas.
Trabajo práctico
Manejo de un repositorio Git.
Automatización de edificios
- ¿Qué es la construcción de software?
- Construcciones, ciclo de vida del proyecto.
- Herramientas de compilación con Maven.
- Plug-ins, perfiles y módulos.
Trabajo práctico
Configuración de la construcción de un proyecto sencillo (Maven).
Gestión de depósitos
- Funciones de los jefes de depósito.
- Tipos de repositorio: público, interno.
- Gestión de entregables (artfacts): releases, snapshots, deployment.
- Organización de depósitos: desarrollo, pruebas, producción.
- Integración de gestores de repositorios con herramientas de compilación y gestión de tareas.
- Ejemplos de soluciones: Nexus, Artifactory...
Trabajo práctico
Publicación de artefactos en Nexus.
Automatización de pruebas
- ¿Qué pruebas y con qué fin?
- Entornos de prueba.
- Presentación de las herramientas de prueba.
- Implantación de la automatización de pruebas.
Trabajo práctico
Configuración de pruebas automatizadas con JUnit.
Servidor de integración continua
- El papel del servidor de integración continua.
- Características principales.
- Gestión del trabajo.
- Dependencia de tareas.
- Servidores: Hudson/Jenkins, CruiseControle, Bamboo...
Trabajo práctico
Configurar el proyecto en un servidor de integración continua Jenkins.
Establecimiento de métricas
- Generación de informes.
- Herramientas de análisis e informes (PMD, Findbugs, Cobertura, Emma, Checkstyle, etc.).
- Publicación de los resultados.
Trabajo práctico
Configuración de herramientas de medición.
Gestión de la información
- Gestionar un ciclo completo.
- Trazabilidad de los cambios.
Trabajo práctico
Usando Sonar.