Soluciona problemas de despliegues fallidos

Soluciona problemas de despliegues fallidos

Qué significa cada fallo en la página de despliegue y cómo solucionarlo.

Un despliegue fallido muestra Why it failed en la parte superior de su página: la causa, la solución y la línea de log que lo demuestra. Cada causa se explica aquí.

El build se quedó sin tiempo

El build se detuvo al llegar a su límite de tiempo (60 minutos). El siguiente intento reutiliza lo que ya se construyó. Si sigue pasando, el build necesita más memoria o CPU — consulta build methods.

El build se quedó sin memoria

Un paso del build fue detenido por usar más memoria de la que tiene el build server. Railyard ya ajusta los builds a la máquina automáticamente. Un build server más grande, o desplegar la imagen ya publicada del proyecto, lo evita.

La app arrancó pero nunca respondió

El contenedor está corriendo pero nada respondió por HTTP. La app debe escuchar en 0.0.0.0 y en el puerto definido en $PORT. Revisa el puerto en Settings, y que el comando de inicio no se enlace a 127.0.0.1.

Falta una dependencia en tiempo de ejecución

El código necesita un paquete que no está en la imagen — normalmente se detectó el framework incorrecto o el comando corre fuera de la carpeta de la app. Revisa el método de build y el comando de inicio.

El comando corrió en la carpeta equivocada

La imagen no contiene la app donde el comando la esperaba. Si el Dockerfile del repositorio es solo para desarrollo, construye con Railpack en su lugar.

La app necesita credenciales para un servicio externo

Llama a un servicio de terceros (almacenamiento en la nube, email, pagos…) y no tiene una clave para él. Agrega las variables de ese servicio en Variables.

Al usuario de la base de datos le falta un permiso

Una migración necesita un permiso que el usuario de base de datos de la app no tiene. Vuelve a desplegar una vez — los grants se refrescan en cada despliegue.

No se pudo alcanzar la base de datos

La app no pudo alcanzar su base de datos. Si esto pasó durante el build, la app se conecta a su base de datos mientras compila, y eso los builds no lo pueden hacer.

Falta definir una variable requerida

La app se detiene al arrancar porque una variable que necesita está vacía. Agrégala en Variables.

No se pudo descargar la imagen

El registro rechazó la imagen: no existe, el tag está mal, o es privada y necesita credenciales en Settings → Source.

El nombre de la imagen no es válido

La referencia de la imagen contiene caracteres que Docker no acepta. Revisa la URL del repositorio o el nombre de la imagen.

El paso de release falló

El comando que corre antes de que la nueva versión salga en vivo — normalmente migraciones — terminó con un error. La primera línea de error se muestra en la página de despliegue.

El build falló

Un paso del build terminó con un error; la primera línea de error se muestra en la página de despliegue.