Resumen

Habilitar Auto DevOps en GitLab sobre un clúster de Kubernetes acelera el paso de código a producción con seguridad, calidad y monitoreo integrados. Aquí verás, paso a paso, cómo activar la estrategia de Continuous Deployment, revisar el pipeline generado, exponer la app con nip.io, habilitar métricas y crear review apps por branch para validar cambios antes del merge.

¿Cómo habilitar Auto DevOps en GitLab CI/CD con Kubernetes?

Activar Auto DevOps centraliza buenas prácticas sin configurar todo a mano. Primero se verifica el clúster en Operations > Kubernetes y luego, en Settings > CI/CD, se expande Auto DevOps y se habilita. Se elige la estrategia de Continuous Deployment to Production para desplegar sin intervención manual tras un merge a master.

  • Pipeline inicial con fases de build y test.
  • En test se ejecutan: calidad de código, escaneo de contenedores, escaneo de dependencias, escaneo de licencias, análisis estático de seguridad y tests unitarios.
  • Regla clave: casi todos los jobs pueden fallar sin bloquear, excepto tests unitarios; si fallan, el pipeline se detiene.
  • El merge a master detona deploy directo a producción y luego se ejecutan pruebas de performance para obtener un baseline.

¿Qué estrategia de deployment conviene?

Si se necesita control humano antes de producción, se usa continuous delivery. Si se busca velocidad total, se prefiere continuous deployment para que el pipeline llegue hasta producción automáticamente.

¿Cómo exponer la app con dominio?

En Operations > Kubernetes se añade el dominio usando IP.nip.io. nip.io actúa como proxy para mapear IPs a dominios cuando no hay dominio base. Con dominio propio, se configura un wildcard DNS apuntando a la IP generada por Ingress y se guardan cambios.

¿Qué aporta el pipeline de seguridad, calidad y monitoreo?

Con Auto DevOps, aparecen nuevas vistas y métricas útiles para mantener la salud del producto y el cumplimiento de políticas.

  • En el tab de Security se verifican hallazgos del pipeline.
  • En Licenses se listan licencias detectadas para luego definir cuáles son aceptables.
  • En Operations > Environments se ve el ambiente de producción, el conteo de “instancias” (pods) y accesos rápidos.
  • Acceso 1 clic a la URL publicada vía nip.io.
  • Monitoreo integrado: requests por segundo, tasa de errores, latencia y métricas de sistema como CPU cores y memoria. Se observan picos al visitar la app, ideales para validar comportamiento bajo carga.

¿Qué pruebas de seguridad corren?

Además del análisis estático, en ambientes publicados se añaden pruebas de performance y, más adelante en review apps, pruebas dinámicas de seguridad (DAST) tratando la app como black box.

¿Cómo crear review apps por branch con merge requests?

Las review apps despliegan un ambiente por cada branch, de modo que cada cambio se prueba en un entorno similar a producción.

  • Se crea un issue (ejemplo: Modificar aplicación) y desde ahí un merge request para generar el branch.
  • Se clona el repositorio, se crea el branch, se modifican vistas y tests para alinear resultados, y se hace push para detonar el pipeline.
  • El pipeline de branch cambia la etapa final: en vez de producción, despliega a review.
  • En review apps se ejecutan pruebas de performance y DAST.
  • Al cerrar el issue, se ejecuta el cleanup que elimina el ambiente de review.

¿Qué cambios de ejemplo se realizan?

  • Ajuste del título de la app: de “Express” a “Platzi”.
  • Actualización de tests para esperar “welcome to Platzi”, evitando fallos.
  • Verificación del pipeline en CI/CD > Pipelines.

¿Qué comandos de Git se usan?

# Clonar el repositorio
git clone <URL-del-repo>
cd <carpeta-del-repo>

# Crear y cambiar al branch (ejemplo con espacios entre comillas)
git checkout -b '1 modificar aplicación'

# Verificar cambios
git status

# Añadir, commitear y subir cambios
git add .
git commit -m "modify title"
git push -u origin '1 modificar aplicación'

El valor de este flujo es enorme: levantar un pipeline con build, calidad, seguridad, deploy, monitoreo y review apps solía requerir conocimiento avanzado de infraestructura y desarrollo. Con Auto DevOps se logra en minutos, quedando listo para iterar con responsabilidad y velocidad.

¿Te gustaría compartir cómo aplicarás estos pipelines en tus proyectos y qué tipos de aplicaciones se beneficiarán más? Deja tus ideas en los comentarios y conversemos sobre tus próximos pasos.