Skip to content

Diario de trabajo

Materia PLANIFICADA

UT7. Implantación de aplicativos (FEOE)

Desarrollo: 23 feb al 5 jun (14 semanas)

Continuación de la formación en la empresa.

Para aquellos alumnos que NO cumplan los requisitos continuarán su desarrollo en el aula mediante la unidad de implantación de aplicativos mediante CI/CD para el stack tecnológico asignado.

Pasos a desarrollar:

  1. 🗨️ Linter (validar)
  2. 🗨️ Compilar / Verificar sintaxis
  3. 🗨️ Test unitarios
  4. 🗨️ Empaquetar (preparar para despliegue)
  5. 🗨️ Verificar (test integración)
  6. 🗨️ Instalar (preparar el entrono)
  7. 🗨️ Desplegar

  8. 🗨️ Ejemplo en Maven

Semana 1:

  • 23f:
    • ✅ Detalle de tarea FEOE
    • ✅ Detalle de tareas de recuperación OPCIONALES ^(1)^
  • 26f:
    • ✅ Trabajo en tareas básicas Docker CLI

Semana 2:

  • 2m:
    • ✅ Resolución de dudas
    • ✅ Desarrollo de app básica en entrono servidor. Debe servir 2 endpoints: createOne y readOne
  • 5m:
    • ✅ Resolución de dudas
    • ✅ Desarrollo de app básica en entrono servidor. Debe servir 2 endpoints: createOne y readOne

Semana 3:

  • 9m:
    • ✘ Resolución de dudas
    • ✘ Configuración de Linter
  • 12m:
    • ✅ Resolución de dudas
    • ✘ Configuración de Linter

Semana 4:

  • 16m:
    • 🗨️ Resolución de dudas
    • 🗨️ Validación de código con Linter
  • 19m:
    • 🗨️ Resolución de dudas
    • 🗨️ 0 warnings / 0 errores de Linter

Semana 5:

  • 23m:
    • 🗨️ Resolución de dudas
    • 🗨️ Desarrollo de test
  • 26m:
    • 🗨️ Resolución de dudas
    • 🗨️ Desarrollo de test

Semana 6:

  • 30m:
    • 🗨️ Resolución de dudas
    • 🗨️ Validación de test
  • 2a:
    • 🗨️ Resolución de dudas
    • 🗨️ Validación de test

Asociado a los RA1 y 6.

^(1)^ Se le ofrece al alumno un plan de recuperación personalizado. El alumno tiene 2 opciones mutuamente excluyentes:

  • Opción 1: Realizar la tarea de la unidad 7 y recuperar las otras 2 evaluaciones en el examen final ORDINARIO que recoge todas las actividades que hemos realizado durante el curso.

  • Opción 2: Realizar la tarea de la unidad 7 y las tareas de recuperación subidas al moodle.

Si cualquiera de las tareas no es de autoría propia la evaluación será negativa.

Para demostrar la autoría, el alumno tendrá que realizar una defensas de su trabajo sobre la que se le podrá requerir cambios donde demuestre que conoce adecuadamente su trabajo.


Impartido


UT1. Herramientas y repaso

Duración: 4 h

Semana 1:

  • 15s:
    • ✅ Programación (previa)
    • ✅ Control de versiones -> GIT
    • ✅ Lenguaje de marcado ligero para representación -> Markdown
    • ✅ Virtualización asistida -> Vagrant
  • 18s:
    • ✅ Aclaraciones
    • ✅ Ejercicios Vagrant
    • ✅ Corrección práctica GIT.

Git y Markdown asociados a RA6 y Vagrant asociado a RA1.

UT2. Implantación de arquitecturas web

Duración: 18 h

Bases del despliegue:

CE: a, b, f.

Semana 2:

  • 22s:
    • ✅ Arquitecturas web
    • ✅ Introducción al protocolo Http
  • 25s:
    • ✅ Protocolos: Http (análisis del protocolo) y Https
    • ✅ Pila TCP/IP

Semana 3:

Contenedores (“virtualización” ligera) -> Docker

CE: e, f, h, i.

  • 29s:
    • TCP/IP
      • ✅ IPv4
      • ✅ IPv6
    • ✅ Introducción a los contenedores
  • 2o:
    • docker CLI - instalación
    • ✅ run, start, stop (hasta mysql)

Semana 4:

  • 6o:
    • cont CLI
      • ✅ estado
      • ✅ De -i a -d y viceversa
    • AWS
      • ✅ Laboratorio
      • ✅ Instancias EC2
      • ✅ acceso por ssh
  • 9o:
    • cont CLI
      • ✅ redes
      • ✅ volúmenes
      • ✅ tags
      • docker cp
    • docker compose
      • ✅ composerize
      • ✅ versión sin - (guion o dash)
      • ✅ comandos compose up, compose down, compose ps y compose log
      • ✅ secretos y .env

Semana 5:

  • 13o: Festivo (Día después de la hispanidad).
  • 16o:
    • Dockerfile
      • ✅ Comandos FROM, COPY y ENTRYPOINT
      • docker build y docker tag
      • ✅ Comando CMD vs ENTRYPOINT
      • ✅ Comando ARG vs ENV
      • ✅ App Java Stand-alone
      • ✅ Sustitución de archivos de configuración en caliente
      • Dockerfile optimizado en 2 etapas

Semana 6:

  • 20o:
    • ✅ Servidores: web, aplicaciones y vps
    • ✅ Docker hub
    • ✅ Trabajo en prácticas
  • 23o
    • ✅ Seguridad (no root)
    • ✅ Buenas prácticas
    • ✅ Trabajo en prácticas

Semana 7:

  • 27o:
    • Examen
    • ✅ Comienzo de corrección
  • 30o:
    • ✅ Puesta en marcha de la instancia EC2
    • ✅ Corrección completa

Aplicación:

  • ✅ Servidor web (c, f, h, i)
  • ✅ Servidor de aplicaciones (d, f, h, i)
  • ✅ Servidores en la nube (vps) (e, f, h, i)

Tareas:

  1. ✅ Documentar los procesos.
  2. Implementar los procesos documentados por un compañero.

Asociado al RA1.

UT3. Servidores WEB

Duración: 18 h

Semana 6:

  • 23o: Apache
    • ✅ Configuración avanzada del servidor web.
    • ✅ Hosts virtuales. Creación, configuración y utilización.

Semana 7:

  • 30o:
    • ✅ Resolución examen U2
    • ✅ Módulos: instalación, configuración y uso.
    • ✅ Autenticación y control de acceso.
    • ✅ Autenticación con auth digest.

Semana 8:

  • 3n:
    • ✅ El protocolo HTTPS.
    • ✅ Certificados. Servidores de certificados.
    • ✅ Trabajo en prácticas.
  • 6n:
    • ✅ Proxy
    • ✅ Despliegue de aplicaciones sobre servidores web.
    • ✅ Despliegue de servidores web mediante tecnologías de virtualización en la nube y en contenedores.
    • ✅ continuación configuración de host para acceso externo
    • ✅ Trabajo en prácticas.

Semana 9:

  • 10n:
    • ✅ Revisión de examen y prácticas
    • ✅ Trabajo en prácticas.
  • 13n: Implantación
    • ✅ Apache
    • ✅ rsync con WSL y vagrant

Semana 10:

  • 17n:
    • ✅ Monitorización
    • Nginx
  • 20n: Examen (todo lo visto hasta ese día).

Semana 11:

  • 24n:
    • ✅ CORS

Contenido

  • ✅ Servidor web Apache (a, b, c, d, g, i)
  • Servidor web Nginx (a, b, c, d, g, i)
  • ✅ Proxy (e, f, g, i)
  • Implantación (local) aplicación Angular/React (h, i)
  • ✅ Monitorización (j)

Asociado al RA2.

UT4. Servidor de aplicaciones

Duración: 16h

  • 27n: No lectivo

  • 1d:

    • ✅ JakartaEE
  • 4d:

    • ✅ JakartaEE
    • ✅ Laravel
  • 8d: Festivo. Día de la Inmaculada Concepción

  • 11d:

    • ✅ Node.js
    • ✅ Flask
  • 15d: ...

  • 18d:

    • ✅ Rust
  • 22d: No lectivo

  • 23d - 7e: NAVIDADES

  • 8e: ...

  • 19e:

    • Entrega PRÁCTICAS antes de la 13.00 h
    • Examen
    • Defensa

Contenido:

  • ✅ Contenedor de aplicaciones Tomcat (a, b, c, d, e, h, i)
  • ✅ Despliegue de aplicación web Servlet/Spring/Quarkus (f, g, h, i)

Asociado al RA3.

UT5. Gestión de servidores y archivos

Duración: 12 h

  • 15d:
    • ✅ FTP (a, b, c, d, g)
    • ✅ Acceso remoto seguro - SSH (e, g)
    • ✅ Bastionado SSH: pares de llaves
  • 18d: ...

  • 8e:

    • ✅ Bastionado SSH: fail2ban
    • ✅ Repositorios BARE (f, g, h)
    • Hooks locales (CI/CD)
    • ✅ Hooks remotos (CI/CD)
  • 12e:

    • ✅ cont Bare y Hooks (CI/CD)
  • 15e:

    • ✅ cont Bare y Hooks (CI/CD)
  • 19e:

    • ✅ cont Bare y Hooks (CI/CD)
  • 22e:
    • Defensa prácticas
  • 26e:
    • Defensa prácticas antes de la 13.00 h ^(1)^
    • Examen ^(2)(3)^^

Asociado a los RA4 y RA6.

UT6. Servicios de red

Duración: 8 h

  • 22e:

    • ✅ DNS (a, b, g, h)
    • ✅ Revisión de despliegue de proyectos
  • 29e:

    • ✅ cont DNS (a, b, g, h)
    • ✅ Revisión de despliegue de proyectos
  • 2f:
    • ✅ cont DNS
    • ✅ Revisión de despliegue de proyectos
  • 5f:
    • ✅ cont DNS
  • 9f:
    • Entrega de prácticas (todos)

Asociado a RA5.


Repaso

  • 12f:
    • ✅ Evaluación y defensa de tareas de recuperación
  • 19f:
    • 🗨️ Evaluación y defensa de tareas de recuperación

Contenidos mínimos:

  • ✅ Sitios web estáticos y dinámicos.
  • ✅ Aplicaciones web.
  • ✅ Servicios web.
  • ✅ Servidores de nombres. Tipos.
  • ✅ Registros DNS.
  • ✅ Zona directa e inversa.
  • ✅ Servidores web. Instalación.
  • ✅ Ficheros y parámetros de configuración de servidores.
  • ✅ Servidores virtuales.
  • ✅ Establecimiento de conexiones seguras HTTPS.
  • ✅ Configurando CORS.
  • ✘ Instalación y funcionamiento de sFTP.
  • ✅ Git. Funcionamiento.
  • ✅ Git. Trabajo con ramas y en remoto.
  • ✅ Git BARE.
  • ✅ CI/CD con hooks de Git
  • ✅ Docker. Instalación y componentes.
  • ✅ Docker. Ciclo de vida de los contenedores.
  • ✅ DockerFile y DockerCompose.
  • ✅ JavaEE y JakartaEE.
  • ✅ Servidor/Contenedor de aplicaciones (Tomcat).
  • ✅ Despliegue de aplicaciones en un entorno de red en un servidor Linux.
  • ✅ Despliegue en la nube.