Implantar sites Next.js estáticos renderizados nos Aplicativos Web Estáticos do Azure
Neste tutorial, aprenda a implantar um site estático gerado por Next.js em Aplicativos Web Estáticos do Azure. Para obter mais informações sobre os detalhes do Next.js, consulte o leia-me do modelo inicial.
Pré-requisitos
- Uma conta do Azure com uma assinatura ativa. Crie uma conta gratuitamente.
- Uma conta do GitHub. Crie uma conta gratuitamente.
- Node. js instalado.
1. Configurar um aplicativo Next.js
Em vez de usar a CLI do Next.js para criar seu aplicativo, você poderá usar um repositório para iniciantes. O repositório inicial contém um aplicativo Next.js existente que oferece suporte a rotas dinâmicas.
Para começar, crie um novo repositório em sua conta do GitHub utilizando um modelo de repositório.
Acesse https://github.com/staticwebdev/nextjs-starter/generate
Atribua ao repositório o nome nextjs-starter.
Em seguida, clone o novo repositório em seu computador. Certifique-se de substituir
<YOUR_GITHUB_ACCOUNT_NAME>
pelo nome da sua conta.git clone http://github.com/<YOUR_GITHUB_ACCOUNT_NAME>/nextjs-starter
Acesse o aplicativo Next.js recém-clonado.
cd nextjs-starter
Instale as dependências.
npm install
Inicie o aplicativo Next.js em desenvolvimento.
npm run dev
Acesse
http://localhost:3000
para abrir o aplicativo, no qual você verá o seguinte site aberto em seu navegador preferido:
Ao selecionar uma estrutura/biblioteca, você verá uma página de detalhes sobre o item selecionado:
2. Criar um aplicativo estático
As etapas a seguir mostram como vincular seu aplicativo aos Aplicativos Web Estáticos do Azure. No Azure, você pode implantar o aplicativo em um ambiente de produção.
Vá para o Portal do Azure.
Selecione Criar um recurso.
Pesquise Aplicativos Web Estáticos.
Selecione Aplicativo Web Estático.
Selecione Criar.
Na guia Básico, insira os valores a seguir.
Propriedade Valor Assinatura Seu nome da assinatura do Azure. Grupo de recursos my-nextjs-group Nome my-nextjs-app Tipo de plano Gratuito Região da API do Azure Functions e dos ambientes de preparo Selecione a região mais próxima de você. Origem GitHub Selecione Fazer login com o GitHub e autenticação com o GitHub, se solicitado.
Insira os valores do GitHub a seguir.
Propriedade Valor Organização Selecione a organização GitHub apropriada. Repositório Selecione nextjs-starter. Branch Selecione main. Na seção Detalhes do build, selecione Personalizado nas Predefinições de build. Adicione os valores a seguir à configuração de build.
Propriedade Valor Localização do aplicativo Insira / na caixa. Localização da API Deixe essa caixa vazia. Local de saída Insira sair na caixa.
3. Examinar e criar
Selecione Examinar + Criar para verificar se todos os detalhes estão corretos.
Selecione Criar para iniciar a criação do aplicativo Web estático do Serviço de Aplicativo e provisione uma GitHub Actions para a implantação.
Assim que concluir a implantação, selecione Ir para o recurso.
Na janela Visão Geral, selecione o link da URL para abrir seu aplicativo implantado.
Se o site não for carregado imediatamente, o build permanecerá em execução. Para verificar o status do fluxo de trabalho do Actions, navegue até o painel Actions do seu repositório:
https://github.com/<YOUR_GITHUB_USERNAME>/nextjs-starter/actions
Depois que o fluxo de trabalho for concluído, você poderá atualizar o navegador e exibir seu aplicativo Web.
Agora, qualquer alteração feita no branch main
inicia um novo build ou uma implantação do seu site.
4. Sincronizar alterações
Quando você criou o aplicativo, os Aplicativos Web Estáticos do Azure criaram um arquivo do GitHub Actions em seu repositório. Sincronize com o servidor puxando a versão mais recente para seu repositório local.
Retorne ao terminal e execute o comando git pull origin main
.
Configurando a renderização estática
Por padrão, o aplicativo é tratado como um aplicativo de Next.js renderizado híbrido, mas para continuar usando-o como um gerador de site estático, você precisa atualizar a tarefa de implantação.
Abra o repositório no Visual Studio Code.
Navegue até o arquivo GitHub Actions que os Aplicativos Web Estáticos do Azure adicionaram ao seu repositório em
.github/workflows/azure-static-web-apps-<your site ID>.yml
Atualize o trabalho Build e Deploy para ter uma variável de ambiente de
IS_STATIC_EXPORT
definida comotrue
:- name: Build And Deploy id: swa uses: azure/static-web-apps-deploy@latest with: azure_static_web_apps_api_token: ${{ secrets.AZURE_STATIC_WEB_APPS_TOKEN }} repo_token: ${{ secrets.GITHUB_TOKEN }} # Used for GitHub integrations (i.e. PR comments) action: "upload" app_location: "/" # App source code path api_location: "" # Api source code path - optional output_location: "" # Built app content directory - optional env: # Add environment variables here IS_STATIC_EXPORT: true
Confirme as alterações no git e envie-as por push para o GitHub.
git commit -am "Configuring static site generation" && git push
Depois que o build for concluído, o site será renderizado estaticamente.
Limpar os recursos
Se você não for continuar a usar este aplicativo, poderá excluir a instância dos Aplicativos Web Estáticos do Azure por meio das etapas a seguir.
- Abra o portal do Azure.
- Pesquise por my-nextjs-group na barra de pesquisa superior.
- Selecione o nome do grupo.
- Selecione Excluir.
- Selecione Sim para confirmar a ação de exclusão.