Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Quando o time tenta fazer deploy de uma aplicação NextJS sem usar Docker, uma das dores mais comuns é o erro de não encontrar o build válido na pasta '.next'. Já passei por isso e, na maioria das vezes, o problema está relacionado a como o ambiente de produção está configurado ou como o build é gerado.
No meu entendimento, o ponto central é garantir que o processo de build seja concluído corretamente e que a pasta '.next' esteja disponível na hora do deploy. Além disso, é importante verificar se o ambiente de produção tem acesso à pasta e se o comando de start está apontando para o local certo. A decisão fica mais saudável quando o time consegue medir o impacto depois. Sem esse citério, a solução pode parecer simples no começo e cara no suporte.
Na prática, já vi times que tiveram que criar scripts específicos pra garantir que o build fosse feito na raiz do projeto, ou então usar variáveis de ambiente que controlam o modo de execução. Mas o mais importante mesmo é testar localmente com uma configuração parecida com a produção antes de fazer o deploy. Sem esse critério, a solução pode parecer simples no começo e cara no suporte. O valor aparece melhor quando operação, produto e engenharia olham para o mesmo risco. Por isso, o recorte precisa considerar manutenção, validação e caminho de volta.
Por fim, se a sua aplicação está em um ambiente que não é Docker, o risco de esquecer algum passo na configuração aumenta. Como vocês costumam fazer esses testes antes de subir? Será que um script de deploy automatizado ajuda a evitar esses erros?
Mass, o que pega mesmo é quando o ambiente de produção não tem o mesmo settup do local. Já vi gente que tenta fazer o deploy só copiando a pasta, sem rodar o npm run build de verdade. Aí dá nisso, o build fica incompleto ou desaparece. Pra mim, o ideal é sempre testar o deploy num ambiente similar ao de produção antes de liberar.
No meu time, o que pegou foi justamente o ambiente não estar preparado pra rodar o Next na hora do deploy. Muitas vezes o build funciona no dev, mas na hora de subir pro servidor, a pasta '.next' acaba ficando fora do caminho. Acho que automatizar o build e o start num script de CI ajuda bastante pra evitar esse tipo de problema.
Concordo, Lucas. Na minha experiência, o mais importante é cuidar para que o comando de build seja o mesmo do ambiente de produção. Às vezes, o erro vem de uma variável de ambiente diferente ou de uma etapa esquecida na pipeline.
Uai, e o que vocês fazem pra cuidar para que o deploy é cons istente?