Fundamentos do Next.js 15

0/26 aulas0%
pratica

Deploy da Aplicação Next.js 15 (Vercel e outras plataformas)

Aprenda sobre deploy da aplicação next.js 15 (vercel e outras plataformas)

40 min
Aula 5 de 6

Módulo 5: Projeto Final: Construindo uma Aplicação Full Stack

Aula: Deploy da Aplicação Next.js 15 (Vercel e outras plataformas)

🚀 Introdução: Levando Sua Aplicação ao Mundo!

Parabéns por ter chegado até aqui! 🎉 Sua aplicação Next.js 15 está quase pronta para ser compartilhada com o mundo. Nesta aula, daremos o passo final e crucial: o deploy. Você aprenderá como transformar sua aplicação de um projeto local em algo acessível a qualquer pessoa na internet.

Focaremos principalmente na Vercel, a plataforma criada pela equipe do Next.js, por sua integração impecável e recursos poderosos. Também exploraremos brevemente outras opções para que você tenha uma visão completa do cenário de deploy.

Objetivos da Aula:

  • Entender a importância e os benefícios de fazer o deploy de uma aplicação.
  • Realizar o deploy de uma aplicação Next.js 15 na Vercel usando a integração Git.
  • Configurar variáveis de ambiente de forma segura para produção.
  • Explorar opções de deploy alternativas para Next.js.

⚙️ Deploy com Vercel: A Plataforma Oficial e Otimizada

A Vercel é a plataforma de deploy recomendada para aplicações Next.js. Ela oferece uma experiência de desenvolvedor superior, otimizando automaticamente sua aplicação para performance, escalabilidade e confiabilidade, aproveitando ao máximo os recursos do Next.js 15, como o App Router e Server Components.

Por que Vercel?

  • Integração Nativa: Desenvolvida pela mesma equipe do Next.js, garantindo compatibilidade e otimização.
  • Zero Configuration: Na maioria dos casos, basta conectar seu repositório Git e a Vercel detecta e configura tudo.
  • Serverless Functions & Edge Functions: Suporte nativo para API Routes, Server Actions e Edge Functions, permitindo lógica de backend escalável e de baixa latência.
  • Preview Deployments: Cada push em um branch gera um deploy de preview único, facilitando revisões.
  • Automatic SSL: Certificados SSL/TLS gratuitos e automáticos para segurança.
  • Global CDN: Conteúdo distribuído globalmente para carregamento rápido em qualquer lugar do mundo.

1. Preparando Sua Aplicação Next.js 15 para o Deploy

Antes de fazer o deploy, certifique-se de que sua aplicação está pronta para produção:

  • Todos os testes estão passando (se você os tiver implementado).
  • Nenhum erro de linting ou warnings críticos.
  • As variáveis de ambiente sensíveis estão configuradas para serem lidas do .env.local em desenvolvimento e de forma segura na plataforma de deploy em produção.

A Vercel lida nativamente com as características do Next.js 15, como o App Router, Server Components e Server Actions, transformando-os em Serverless Functions ou Edge Functions conforme o necessário, sem exigir configurações adicionais complexas da sua parte.

2. Deploy via Vercel CLI (Linha de Comando) 💻

O Vercel CLI permite que você faça o deploy diretamente do seu terminal. É útil para deploys rápidos de teste ou para scripts de automação.

Passo a Passo:

  1. Instale o Vercel CLI globalmente:

    npm install -g vercel
    # ou
    yarn global add vercel
    # ou
    pnpm add -g vercel
  2. Faça Login:

    vercel login

    Este comando abrirá seu navegador para você autenticar sua conta Vercel.

  3. Navegue até o diretório raiz do seu projeto Next.js:

    cd seu-projeto-nextjs
  4. Inicie o Deploy:

    vercel

    O CLI fará algumas perguntas interativas:

    • Set up and deploy “seu-projeto-nextjs”? [Y/n] -> Y
    • Which scope do you want to deploy to? -> Escolha sua conta pessoal ou um time.
    • Link to existing project? [y/N] -> N (se for o primeiro deploy deste projeto)
    • What’s your project’s name? -> (Deixe o padrão ou digite um nome descritivo)
    • In which directory is your code located? ./ -> (Deixe o padrão se o projeto Next.js estiver na raiz do seu repositório)

    Após responder às perguntas, o Vercel CLI construirá e fará o deploy da sua aplicação, fornecendo um URL de preview.

3. Deploy via Integração Git (Recomendado e Mais Comum) 🐙

A maneira mais eficiente e a melhor prática para deploy contínuo na Vercel é integrando seu repositório Git (GitHub, GitLab, Bitbucket). Isso permite deploys automáticos em cada git push para o branch principal ou para branches de preview.

Passo a Passo:

  1. Crie um Repositório Git e Publique-o: Se ainda não o fez, inicialize um repositório Git em seu projeto e publique-o em uma plataforma como GitHub.

    git init
    git add .
    git commit -m "Initial commit of Next.js 15 project"
    git branch -M main
    git remote add origin https://github.com/seu-usuario/seu-projeto-nextjs.git
    git push -u origin main
  2. Acesse o Vercel Dashboard: Vá para vercel.com e faça login.

  3. Importar Projeto:

    • No dashboard, clique em "Add New..." -> "Project".
    • Selecione "Import Git Repository".
    • Conecte sua conta GitHub/GitLab/Bitbucket (se ainda não estiver conectada) e selecione o repositório do seu projeto Next.js.
  4. Configurações do Projeto:

    • A Vercel geralmente detecta que é um projeto Next.js e configura tudo automaticamente.
    • Você pode personalizar o nome do projeto, o diretório raiz (se seu código Next.js não estiver na raiz do repositório) e outras configurações de build.
    • Clique em "Deploy".

    A Vercel irá clonar seu repositório, instalar as dependências, construir sua aplicação e fazer o deploy. Você verá o progresso no dashboard e, ao final, um link para sua aplicação online.

4. Variáveis de Ambiente 🔑

Variáveis de ambiente são cruciais para armazenar segredos (chaves de API, credenciais de banco de dados) e configurações que variam entre ambientes (desenvolvimento, produção). Nunca commite variáveis de ambiente sensíveis diretamente no seu código-fonte.

Como configurar na Vercel:

  1. No Dashboard:

    • Vá para o seu projeto no Vercel Dashboard.
    • Clique em "Settings" -> "Environment Variables".
    • Adicione suas variáveis, especificando o nome (CHAVE_SECRETA) e o valor.
    • Selecione os ambientes onde a variável deve estar disponível (Production, Preview, Development).
  2. Exemplo de uso no código Next.js 15:

    // Em Server Components, Server Actions, API Routes ou Edge Functions (lado do servidor):
    // Variáveis sem o prefixo NEXT_PUBLIC_ são acessíveis APENAS no servidor.
    const dbUrl = process.env.DATABASE_URL;
    const secretKey = process.env.API_SECRET_KEY;
     
    // Em Client Components (lado do cliente):
    // Variáveis com o prefixo NEXT_PUBLIC_ são expostas ao browser.
    // Use-as APENAS para dados que não são sensíveis!
    const publicApiUrl = process.env.NEXT_PUBLIC_API_URL;

    Importante: Qualquer variável de ambiente que comece com NEXT_PUBLIC_ será automaticamente exposta ao código do lado do cliente (browser). Para segredos que nunca devem ser expostos, utilize variáveis sem esse prefixo. Elas estarão disponíveis apenas no ambiente do servidor (Server Components, Server Actions, API Routes, Edge Functions).

5. Domínios Personalizados (Custom Domains) 🌐

Após o deploy, sua aplicação terá um domínio padrão *.vercel.app. Para usar seu próprio domínio (ex: minha-app.com ou app.minha-app.com):

  1. No Dashboard:
    • Vá para o seu projeto no Vercel Dashboard.
    • Clique em "Settings" -> "Domains".
    • Adicione seu domínio personalizado.
    • A Vercel fornecerá as configurações de DNS (registros A ou CNAME) que você precisará adicionar no seu registrador de domínio (GoDaddy, Cloudflare, Hostinger, etc.).

🌍 Outras Plataformas de Deploy (Breve Visão Geral)

Embora a Vercel seja a escolha principal para Next.js, existem outras excelentes opções, cada uma com seus prós e contras:

  • Netlify: Muito similar à Vercel em termos de integração Git e recursos de build. Ótima alternativa, especialmente se você já usa Netlify para outros projetos estáticos ou Jamstack.
  • AWS Amplify: Parte da Amazon Web Services, oferece uma plataforma completa para construir, implantar e hospedar aplicações web e móveis. É mais complexo de configurar, mas extremamente poderoso e escalável, ideal para quem já está no ecossistema AWS.
  • Render: Uma plataforma moderna que suporta deploys de web services, bancos de dados e sites estáticos. Boa opção para aplicações full stack que precisam de mais controle sobre o ambiente e um modelo de precificação mais transparente.
  • DigitalOcean App Platform / Heroku: Plataformas PaaS (Platform as a Service) que permitem deploy de aplicações Node.js (onde Next.js roda). Exigem um pouco mais de configuração manual e otimizações específicas para Next.js, mas oferecem grande flexibilidade.
  • Custom Server (VPS/Docker): Para controle total sobre a infraestrutura, você pode construir e implantar sua aplicação Next.js em um servidor virtual privado (VPS) usando Nginx como proxy reverso, ou empacotá-la em um container Docker. Isso exige mais conhecimento de DevOps e gerenciamento de infraestrutura.

📝 Exercícios Práticos: Colocando a Mão na Massa!

Para esta aula prática, você fará o deploy do seu projeto final Next.js 15 na Vercel, simulando um ambiente de produção real.

Tarefas:

  • 1. Preparar o Repositório Git:

    • Certifique-se de que seu projeto final está em um repositório Git (GitHub, GitLab ou Bitbucket).
    • Verifique se o branch main (ou master) está atualizado com a versão mais recente do seu código e se o .gitignore está configurado corretamente para ignorar node_modules, .env.local, .next/, etc.
  • 2. Criar uma Conta Vercel (se ainda não tiver):

    • Acesse vercel.com e crie uma conta. É altamente recomendado usar sua conta GitHub para facilitar a integração.
  • 3. Realizar o Deploy Inicial via Integração Git:

    • No Vercel Dashboard, clique em "Add New Project" e importe seu repositório Git.
    • Siga as instruções para configurar o projeto (a Vercel deve detectar automaticamente que é um projeto Next.js).
    • Clique em "Deploy" e aguarde o processo de build e deploy.
    • Verifique o URL de preview gerado pela Vercel e acesse sua aplicação para garantir que tudo está funcionando como esperado. 🚀
  • 4. Configurar Variáveis de Ambiente:

    • Identifique as variáveis de ambiente que sua aplicação utiliza (ex: URLs de API, chaves de serviço, etc.).
    • No Vercel Dashboard, vá para as configurações do seu projeto -> "Environment Variables".
    • Adicione pelo menos duas variáveis de ambiente:
      • Uma com o prefixo NEXT_PUBLIC_ (ex: NEXT_PUBLIC_APP_TITLE=Minha App Incrível).
      • Uma sem prefixo (ex: DATABASE_URL=postgres://user:pass@host:port/db - pode ser um valor fictício para este exercício).
    • Certifique-se de que ambas estão configuradas para os ambientes Production e Preview.
  • 5. Testar as Variáveis de Ambiente:

    • Para a variável NEXT_PUBLIC_: Faça um pequeno ajuste em um Client Component (ou uma página renderizada no cliente) para exibir o valor de process.env.NEXT_PUBLIC_APP_TITLE.
    • Para a variável de servidor: Se você tem um Server Component, Server Action ou API Route, tente logar process.env.DATABASE_URL no console do servidor (os logs da Vercel).
    • Faça um git commit e git push para o seu repositório.
    • Observe a Vercel iniciar um novo deploy. Após o deploy, verifique se a variável pública está sendo exibida corretamente no seu aplicativo e se o log da variável de servidor aparece nos logs de deploy da Vercel.
    • Lembre-se de remover o código de exibição da variável pública após o teste para não expor informações desnecessárias ou poluir sua UI.
  • 6. Explorar o Dashboard da Vercel:

    • Navegue pelas diferentes seções do dashboard do seu projeto (Deployments, Analytics, Logs, Settings).
    • Entenda como você pode monitorar seus deploys, verificar logs de build e runtime, e gerenciar configurações.
  • 7. (Opcional) Configurar um Domínio Personalizado:

    • Se você possui um domínio, tente configurá-lo para apontar para sua aplicação Vercel. Siga as instruções de DNS fornecidas pela Vercel. Isso consolidará seu conhecimento sobre como tornar sua aplicação acessível sob sua própria marca.

📚 Resumo e Próximos Passos

Parabéns! 🎉 Você deu um passo gigantesco ao aprender a fazer o deploy da sua aplicação Next.js 15, tornando-a acessível a todos na internet. A Vercel é uma ferramenta incrivelmente poderosa que simplifica muito o processo de deploy, permitindo que você se concentre no desenvolvimento de funcionalidades.

O que aprendemos nesta aula:

  • A importância do deploy para disponibilizar sua aplicação.
  • Como usar o Vercel CLI para deploys rápidos e a integração Git para CI/CD contínuo.
  • A melhor prática de deploy via integração Git na Vercel para automação.
  • A configuração segura de variáveis de ambiente para diferentes escopos (servidor vs. cliente).
  • Uma visão geral de outras plataformas de deploy para Next.js.

Próximos Passos:

  • Monitoramento Ativo: Explore as ferramentas de monitoramento e analytics que a Vercel oferece para acompanhar o desempenho da sua aplicação em produção.
  • Otimização Contínua: Continue otimizando sua aplicação para performance, utilizando as melhores práticas do Next.js e da web.
  • Escalabilidade: Entenda como a Vercel escala sua aplicação automaticamente e como você pode usar Edge Functions para melhorar ainda mais a latência e a experiência do usuário globalmente.
  • Segurança: Revise as práticas de segurança para sua aplicação e suas variáveis de ambiente, garantindo que dados sensíveis estejam sempre protegidos.

Sua jornada como desenvolvedor Next.js está apenas começando! Continue explorando, construindo e inovando. 🚀

© 2025 Escola All Dev. Todos os direitos reservados.

Deploy da Aplicação Next.js 15 (Vercel e outras plataformas) - Fundamentos do Next.js 15 | escola.all.dev.br