Como criar edge applications com o Next.js Static Boilerplate

Preview

O Next.js Static Boilerplate da Azion facilita a criação e implantação de uma Next.js Single-Page Application (SPA) diretamente no edge da rede. Ao executar o boilerplate, várias etapas são automatizadas, desde o gerenciamento de repositório até a implantação da aplicação de uma única página.

Este template usa o Next.js versão 14.1.4.


O núcleo do Next.js oferece suporte a exportações estáticas. Isso permite que você inicie seu projeto como um site estático ou uma SPA e, em seguida, adicione recursos que requerem um servidor. Ao usar esses recursos avançados, o Next.js gera um arquivo HTML por rota, dividindo um SPA estrito em arquivos HTML individuais, e seu projeto pode ser implantado e hospedado em qualquer servidor web que possa servir ativos estáticos HTML/CSS/JS.

Esse recurso inclui recursos suportados e não suportados, listados abaixo, que você deve levar em consideração ao desenvolver e gerenciar seu projeto.

Acesse a documentação do Next.js para obter mais detalhes sobre static exports.

  • Componentes do servidor
  • Componentes do cliente
  • Otimização de imagem
  • Otimização de imagem (através de next/image pode ser usada com uma exportação estática definindo um carregador de imagem personalizado em next.config.js)
  • Manipuladores de rota
  • APIs do navegador

Esses recursos exigem um servidor Node.js ou uma lógica dinâmica que não pode ser computada durante o processo de compilação e não têm suporte:

  • Rotas dinâmicas com dynamicParams: true
  • Rotas dinâmicas sem generateStaticParams()
  • Manipuladores de rotas que dependem de requisição
  • Cookies
  • Rewrites
  • Redirecionamentos
  • Cabeçalhos
  • Middleware
  • Regeneração estática incremental
  • Otimização de imagem (com o loader padrão)
  • Modo draft

Para usar este template, você deve ativar:

Edge Functions

Para fazer isso:

  1. Acesse o Azion Console.
  2. Selecione Account menu > Billing & Subscriptions.
  3. Clique na aba Subscriptions.
  4. Active o switch do módulo.

Para começar a usar o Next.js Static Boilerplate, acesse o Azion Console e selecione a opção Start with a template na página inicial.

Isso abrirá uma nova página onde você pode selecionar o card do Next.js Static Boilerplate.


Na página do template, clique na aba Settings para abrir o formulário de configuração e fornecer as informações para configurar sua aplicação.

Os campos identificados com asterisco são obrigatórios.

  • Application Name *: o nome da sua aplicação. Ele é usado para identificar e gerenciar sua aplicação na plataforma da Azion.
    • Digite um nome único e fácil de lembrar. Se o nome já tiver sido usado, a plataforma retornará uma mensagem de erro.
  • GitHub Personal Token *: seu personal token do GitHub.

Depois de preencher todas as informações, clique no botão Next, localizado no canto inferior direito. Isso iniciará o processo de deployment.


Você poderá acompanhar o processo de implantação através de uma janela mostrando os logs. Quando estiver concluída, uma nova página será exibida, confirmando que a edge application foi criada com sucesso.

Esta página inclui as seguintes seções:

  • A seção Access your Edge Application, que inclui o link para visitar e explorar sua aplicação.
  • O Build Summary contém o nome e a função da aplicação.
  • A aba Deployment details pode ser aberta para acessar os logs relacionados à implantação.
  • What do you want to do next? fornece recomendações sobre opções avançadas para aprimorar sua edge application: Customize Domain, Manage Edge Application, View Edge Application Metrics, View Edge Application Logs e o botão Back to Home.

A aplicação passa por um processo de criação otimizado, enfatizando no melhor desempenho e a eficiência aproveitando os recursos da Azion Edge Platform.

O script cria um repositório do GitHub para gerenciar o código-fonte e, em seguida, instala todas as dependências necessárias. Além disso, sua aplicação é implantada na plataforma da Azion e ao mesmo tempo define múltiplas configurações, como o setup da edge application e do seu domínio para hospedar seu projeto Next.js e uma edge function para lógica personalizada.

O script também confirma os detalhes da implantação no repositório do GitHub do usuário para manter um histórico transparente e rastreável, incluindo informações relacionadas à versão implantada e um registro de data e hora da implantação.

Se você quiser saber mais sobre como editar e personalizar as configurações do seu projeto, acesse a seção Gerencie o template.


Considerando que essa configuração inicial pode não ser ideal para sua aplicação, todas as configurações podem ser personalizadas sempre que você precisar usando o Azion Console.

Para gerenciar e editar as configurações da sua aplicação, siga estas etapas:

  1. Acesse o Azion Console.
  2. No canto superior esquerdo, selecione Products menu > Edge Application.
  • Você será redirecionado para a página de Edge Application. Ela lista todas as edge applications que você criou.
  1. Encontre a edge application relacionada ao Next.js Static Boilerplatee e selecione-a.
  • A lista é organizada em ordem alfabética. Você também pode usar a barra de busca localizada no canto superior esquerdo da lista; atualmente, ela é filtrada apenas pelo Application Name, ou nome da edge application.

Depois de selecionar a aplicação em que você trabalhará, você será direcionado para uma página que contém todas as configurações que você pode configurar.

Uma vez que o template é implantado, você pode editar e atualizar seus args e código na edge function, bem como implementar um fluxo de trabalho de continuous deployment, ou implantação contínua. No entanto, você precisará primeiro declarar seus secrets no repositório do GitHub do seu projeto para completar um segundo build com as alterações.

Assim que esta segunda compilação for concluída, você poderá gerenciar seu projeto com um fluxo de trabalho de implantação contínua e editar os argumentos conforme desejado.

Para fazer isso, abra seu novo repositório Next.js Static Boilerplate no GitHub. Em seguida, vá para Settings > Secrets and Variables > Action para adicionar suas variáveis, seguindo estas instruções:

  1. Adicione o Azion personal token aos secrets:
Terminal window
AZION_PERSONAL_TOKEN=<value>
  1. Adicione os ambientes para uso no action workflow no arquivo main.yml, dentro da pasta .github/workflows do seu repositório:
.github/workflows/main.yml
- name: edge-...
id: azion_edge
...
with:
....
azionPersonalToken: ${{ secrets.AZION_PERSONAL_TOKEN }}
....
  1. Abra um pull request com as alterações na main branch e inicie a implantação automática.

Agora, seu projeto está pronto para trabalhar com um fluxo de trabalho de implantação contínua, atualizando instantaneamente quaisquer alterações no aplicativo ou no repositório.

A edge application criada tem um domínio Azion atribuído para torná-la acessível através do navegador. O domínio tem o seguinte formato: xxxxxxxxxx.map.azionedge.net. No entanto, você pode adicionar um domínio personalizado para que os usuários acessem sua aplicação por meio dele.

leia a documentação de domínios

Contribuidores