Infraestructura · Este mismo sitio

Despliegue reproducible y con vuelta atrás

Esta misma página es el caso. Cada commit produce una imagen etiquetada, volver atrás es desplegar la anterior, y la política de seguridad no admite ni un recurso de terceros.

Terceros
0
Imágenes
1 por commit
Vuelta atrás
1 etiqueta

El punto de partida

Dónde estaba el sistema antes de tocarlo

Un sitio de presentación es el lugar más fácil del mundo para hacer trampa: cargar tres librerías desde un CDN, un tracker de terceros y subir los archivos por FTP. Funciona, nadie lo mira y nadie se entera.

Este está montado como montaría el sistema de un cliente, por una razón práctica: es lo único de esta web que cualquiera puede verificar sin fiarse de mí. Las cabeceras de esta página están a dos clics en las herramientas del navegador.

Qué estaba pasando

El problema real, no el que se ve desde fuera

Las decisiones incómodas son tres, y las tres tienen el mismo enemigo: la comodidad.

Publicar copiando archivos al servidor es cómodo, hasta el día que hay que volver atrás y nadie sabe qué había antes. Cargar la tipografía y el tracker desde un CDN es cómodo, hasta que hay que explicar por qué la política de seguridad tiene excepciones. Y no tener comprobaciones automáticas es cómodo hasta el primer despliegue con el HTML roto.

Qué hice

Las decisiones, en el orden en que se tomaron

04 pasos
  1. Una imagen por commit

    Cada commit en la rama principal produce una imagen etiquetada con su identificador. El servidor no sirve nada que no haya pasado por la integración continua, y volver atrás es desplegar la etiqueta anterior: no hay que revertir archivos ni recordar qué había.

  2. Sin recursos de terceros

    La política de seguridad es `self` en todo, sin una sola excepción. Para poder sostenerlo, la tipografía se autoaloja y la analítica se sirve desde este mismo origen: Nginx hace de espejo de dos rutas del servidor de estadísticas, que vive en su propio stack.

  3. Comprobaciones antes de construir

    HTML, CSS, JavaScript, el contraste de la paleta contra WCAG y el marco común de todas las páginas se verifican en cada rama. La configuración de Nginx se valida cargándola de verdad, no leyéndola.

  4. Verificación desde fuera

    El despliegue termina comprobando el sitio desde internet, no desde el servidor: si la cadena de DNS, TLS y Nginx no responde, el despliegue falla y se entera quien lo lanzó, no el primer visitante.

El resultado

Lo que cambió, medido

Terceros
0
Imágenes
1 por commit
Vuelta atrás
1 etiqueta

Cero dependencias en el navegador, cero recursos de terceros y cero pasos manuales entre el commit y la producción. La analítica no comparte un solo dato con nadie porque no sale de este servidor.

Y lo que más se nota en el día a día: publicar dejó de dar miedo. Si algo sale mal, la versión anterior está a un comando.

Stack y conclusiones

Con qué se hizo y qué deja para el siguiente

Servicio relacionado

Managed Backend

Si tu sistema ya está en producción y nadie lo vigila, este es el servicio.

Ver el servicio

¿Te suena tu propio sistema?

Cuéntame tu caso. Respondo en menos de 24 h, de lunes a viernes.