Resolvendo deploys com falha

Resolvendo deploys com falha

O que cada falha na página de deploy significa e como corrigir.

Um deploy com falha mostra Why it failed no topo da página: a causa, a correção e a linha de log que comprova. Cada causa está explicada aqui.

O build acabou o tempo

O build foi interrompido ao atingir o limite de tempo (60 minutos). A próxima tentativa reaproveita o que já foi buildado. Se continuar acontecendo, o build precisa de mais memória ou CPU — veja build methods.

O build ficou sem memória

Uma etapa do build foi encerrada por usar mais memória do que o servidor de build tem disponível. O Railyard já ajusta os builds à máquina automaticamente. Um servidor de build maior, ou fazer deploy da imagem já publicada do projeto, evita isso.

O app iniciou mas nunca respondeu

O container está rodando, mas nada respondeu HTTP. O app precisa escutar em 0.0.0.0 e na porta definida em $PORT. Verifique a porta em Settings, e se o start command não está vinculado a 127.0.0.1.

Falta uma dependência em tempo de execução

O código precisa de um pacote que não está na imagem — geralmente o framework errado foi detectado, ou o comando roda fora da pasta do app. Verifique o build method e o start command.

O comando rodou na pasta errada

A imagem não contém o app onde o comando esperava encontrá-lo. Se o Dockerfile do repositório é só para desenvolvimento, builde com o Railpack em vez disso.

O app precisa de credenciais para um serviço externo

Ele chama um serviço de terceiros (storage na nuvem, e-mail, pagamentos…) e não tem uma chave para isso. Adicione as variáveis desse serviço em Variables.

O usuário do banco de dados não tem uma permissão

Uma migration precisa de uma permissão que o usuário do banco de dados do app não tem. Faça o deploy de novo uma vez — as permissões são renovadas a cada deploy.

O banco de dados não estava acessível

O app não conseguiu alcançar seu banco de dados. Se isso aconteceu durante o build, o app está se conectando ao banco de dados enquanto compila, o que os builds não conseguem fazer.

Uma variável obrigatória não está definida

O app para no boot porque uma variável que ele precisa está vazia. Adicione em Variables.

Não foi possível baixar a imagem

O registry recusou a imagem: ela não existe, a tag está errada, ou ela é privada e precisa de credenciais em Settings → Source.

O nome da imagem é inválido

A referência da imagem contém caracteres que o Docker não aceita. Verifique a URL do repositório ou o nome da imagem.

A etapa de release falhou

O comando que roda antes da nova versão entrar no ar — geralmente migrations — terminou com erro. A primeira linha de erro aparece na página de deploy.

O build falhou

Uma etapa do build terminou com erro; a primeira linha de erro aparece na página de deploy.