← Servidor web y API con Node

Sesión 17 · Semana 6

Documentar y desplegar

Hoy · Hoja de ruta

  1. 1. Aprende: Qué documentación necesita un servicio y qué cambia al publicarlo.
  2. 2. Haz: Escribe el README y despliega tu aplicación.
  3. 3. Comprueba: Alguien puede usarla desde su casa, con una URL.

Antes de empezar · 5 minutos, sin apuntes

  1. ¿Qué cambia entre tu máquina y un servidor de internet?
  2. ¿De dónde saldrán ahí las variables de entorno?
  3. ¿Qué pasa con tu fichero de datos cuando el servicio se reinicia?

El README que sirve

Lo que no puede faltar

  • Qué es esto y qué problema resuelve, en tres líneas.
  • Cómo instalarlo y arrancarlo, con las órdenes exactas.
  • Las variables de entorno, con su significado y si son obligatorias.
  • La tabla de rutas: método, ruta, qué hace y qué devuelve.
  • El formato de error y sus códigos.
  • Cómo ejecutar las pruebas.
  • Qué decisiones tomaste y qué dejaste fuera a propósito.

Ese último punto es el que distingue un README de un proyecto de clase de uno profesional: decir qué no hace y por qué evita que quien lo lea lo tome por un fallo.

Publicar

{
  "scripts": { "start": "node src/servidor.js" },
  "engines": { "node": ">=22" }
}

Casi todas las plataformas gratuitas hacen lo mismo: clonan tu repositorio, ejecutan la instalación y arrancan con npm start. Lo que tienes que preparar es esto:

Detalle Qué hay que hacer
El puerto Tomarlo de la variable de entorno que dé la plataforma
Las variables Configurarlas en su panel, no en el repositorio
El entorno Poner NODE_ENV en producción
Los datos Saber que el disco puede borrarse en cada despliegue
El registro Escribir a la salida estándar, que es lo que la plataforma recoge

Un fichero en el disco de un servicio desplegado no es permanente

Muchas plataformas reconstruyen el contenedor en cada despliegue, y en algunas también al reiniciar por inactividad. Tus productos creados desaparecen, y no es un fallo de tu código.

Es exactamente el motivo por el que existen las bases de datos gestionadas, y el problema con el que empieza el módulo de servidor. De momento, sabe explicarlo y siembra los datos al arrancar.

Tarea 17 · Publicado

El README se trae escrito de casa: la hora de clase es para desplegar, que es donde aparecen los problemas que no se pueden prever.

  1. Repasa el README completo con sus siete apartados.
  2. Prepara el proyecto: puerto por entorno, start, engines.
  3. Despliega en una plataforma gratuita.
  4. Configura las variables en su panel.
  5. Comprueba la aplicación desde otro dispositivo.
  6. Anota qué se comporta distinto respecto a tu máquina.
Objetivo mínimoAplicación desplegada y accesible, con su README.
Si lo tienesAñade una ruta de estado que informe de si el servicio está sano.
RetoConfigura el despliegue automático en cada cambio de la rama principal.

Checkpoint · fin de la sesión 17

  • Tu aplicación tiene una URL pública.
  • Las variables están en la plataforma, no en el repositorio.
  • El README basta para instalarla y usar la API.
  • Sabes qué pasa con los datos en cada despliegue.