Saltar al contenido
Logotipo de Trainontech Trainontech

Infraestructura, DevOps y Cloud · INF-108

CI/CD con GitHub Actions y GitLab CI

Construir, probar y desplegar con GitHub Actions y GitLab CI en proyectos pequeños que quieren dejar de romperse.

Próximamente Avanzado 7 módulos · 31 clases

Formato asíncrono Desarrollo Git, Docker

Lo que aprenderás

  • Escribir un workflow de GitHub Actions con jobs, matrices de versiones y dependencias entre etapas.
  • Traducir esa misma canalización a stages y jobs de GitLab CI con reglas de ejecución.
  • Construir y publicar imágenes Docker etiquetadas por commit y por versión semántica.
  • Cachear dependencias y artefactos para que la canalización no repita trabajo innecesario.
  • Gestionar secretos, tokens y entornos protegidos sin dejar credenciales en el repositorio.
  • Desplegar por SSH o registro de imágenes con aprobación manual y vuelta atrás controlada.
  • Diagnosticar una canalización roja leyendo logs, códigos de salida y estado del runner.

Contenido del curso

7 módulos · 31 clases en vídeo · práctica guiada en cada módulo

Módulo 1 · Presentación y entorno 4 clases
  • Qué problema resuelve la integración continua
  • Anatomía de una canalización: construir, probar, publicar, desplegar
  • Preparar el repositorio de prácticas
  • Runners alojados y runners propios
Módulo 2 · GitHub Actions: primeros workflows 5 clases
  • Estructura de un fichero de workflow
  • Disparadores por push, por etiqueta y por petición de cambio
  • Jobs, pasos y acciones reutilizables
  • Matrices de versiones y ejecución en paralelo
  • Artefactos y caché de dependencias
Módulo 3 · GitLab CI: la misma canalización 4 clases
  • Stages, jobs y el fichero de configuración
  • Reglas de ejecución y ramas protegidas
  • Caché, artefactos y dependencias entre jobs
  • Plantillas incluidas y reutilización entre proyectos
Módulo 4 · Contenedores en la canalización 4 clases
  • Construir la imagen dentro del pipeline
  • Etiquetado por commit, rama y versión
  • Publicar en el registro de contenedores
  • Escaneo básico de la imagen antes de publicar
Módulo 5 · Secretos, entornos y despliegue 5 clases
  • Secretos de repositorio y de organización
  • Entornos con aprobación manual
  • Despliegue por SSH a un servidor propio
  • Despliegue por actualización de imagen en el destino
  • Vuelta atrás a la versión anterior
Módulo 6 · Diagnóstico y mantenimiento 4 clases
  • Leer un fallo sin adivinar: logs y códigos de salida
  • Reproducir el fallo en local
  • Canalizaciones lentas: dónde se va el tiempo
  • Mantener los workflows cuando cambia el proyecto
Módulo 7 · Caso práctico: proyecto de extremo a extremo 5 clases
  • Definición del flujo de trabajo del equipo
  • Implementación en GitHub Actions
  • Implementación equivalente en GitLab CI
  • Despliegue a preproducción y validación
  • Documentar la canalización para el resto del equipo

Requisitos

  • Uso fluido de Git: ramas, fusiones, resolución de conflictos y peticiones de cambio.
  • Saber construir y ejecutar una imagen Docker propia.
  • Un repositorio propio en GitHub o GitLab sobre el que practicar.

Descripción

En un proyecto pequeño el despliegue suele ser una carpeta comprimida, un acceso por SSH y una lista de pasos que solo recuerda una persona. Funciona hasta que esa persona está de vacaciones, hasta que alguien olvida ejecutar las pruebas o hasta que una dependencia cambia y nadie se entera hasta que el cliente llama. El coste no está en la herramienta, está en las noches de reparación.

El curso levanta una canalización completa sobre un proyecto real: pruebas automáticas en cada envío, análisis estático, construcción de imagen etiquetada, publicación en registro y despliegue en un entorno de preproducción. Todo se hace dos veces, en GitHub Actions y en GitLab CI, para separar los conceptos de la sintaxis concreta y poder trabajar en cualquiera de las dos plataformas.

Al final se dispone de una canalización que se puede llevar a otro repositorio cambiando pocas líneas, con secretos gestionados, despliegues aprobados y vuelta atrás documentada. Es la pieza que antecede a la introducción a Kubernetes y la que hace sostenible la monitorización posterior, porque cada versión desplegada queda identificada.

¿Para quién es este curso?

  • Desarrolladores de equipos pequeños que despliegan a mano y quieren dejar de hacerlo.
  • Responsables técnicos de una PYME que necesitan reducir el coste de cada incidencia en producción.
  • Profesionales que mantienen varios proyectos y buscan una canalización común para todos.
Próximamente

Curso en hoja de ruta. Se prioriza según la demanda recogida y los proyectos en cartera.

Código
INF-108
Nivel
Avanzado
Público
Desarrollo
Entorno
Git, Docker

Este curso incluye

  • 31 clases en vídeo bajo demanda
  • Práctica en entornos web y simuladores, sin instalar nada
  • Tutorización en el campus
  • Acceso desde móvil, tableta y ordenador
  • Actualizaciones cuando cambia la versión de la herramienta
  • Certificado de finalización

Sigue aprendiendo

Cursos relacionados

Próximamente

INF-110Infraestructura, DevOps y Cloud

Monitorización de infraestructura

Métricas de sistema, alertas útiles y paneles que alguien mira de verdad.

GrafanaPrometheusDocker

Avanzado 29 clases

Próximamente

INF-111Infraestructura, DevOps y Cloud

Infraestructura como código con Ansible

Provisionar y mantener decenas de equipos o Raspberry Pi de forma reproducible.

AnsibleLinux

Avanzado 27 clases