Implementar sites de Next.js compostos estáticos no Aplicações Web Estáticas do Azure
Neste tutorial, saiba como implementar um site estático gerado Next.js para Aplicações Web Estáticas do Azure. Para obter mais informações sobre Next.js específicos, veja o readme do modelo de arranque.
Pré-requisitos
- Uma conta do Azure com uma subscrição ativa. Crie uma conta gratuitamente.
- Uma conta do GitHub. Crie uma conta gratuitamente.
- Node.js instalado.
1. Configurar uma aplicação Next.js
Em vez de utilizar a CLI Next.js para criar a sua aplicação, pode utilizar um repositório inicial. O repositório starter contém uma aplicação de Next.js existente que suporta rotas dinâmicas.
Para começar, crie um novo repositório na sua conta do GitHub a partir de um repositório de modelos.
Ir para https://github.com/staticwebdev/nextjs-starter/generate
Atribua o nome nextjs-starter ao repositório
Em seguida, clone o novo repositório para o seu computador. Certifique-se de que substitui
<YOUR_GITHUB_ACCOUNT_NAME>
pelo nome da sua conta.git clone http://github.com/<YOUR_GITHUB_ACCOUNT_NAME>/nextjs-starter
Aceda à aplicação Next.js recentemente clonada.
cd nextjs-starter
Instalar dependências.
npm install
Inicie Next.js aplicação em desenvolvimento.
npm run dev
Aceda a
http://localhost:3000
abrir a aplicação, onde deverá ver o seguinte site aberto no seu browser preferido:
Quando seleciona uma arquitetura ou biblioteca, verá uma página de detalhes sobre o item selecionado:
2. Criar uma aplicação estática
Os passos seguintes mostram como ligar a sua aplicação a Aplicações Web Estáticas do Azure. Uma vez no Azure, pode implementar a aplicação num ambiente de produção.
Aceda ao Portal do Azure.
Selecione Criar um Recurso.
Procure Aplicações Web Estáticas.
Selecione Aplicação Web Estática.
Selecione Criar.
No separador Noções básicas , introduza os seguintes valores.
Propriedade Valor Subscrição O nome da sua subscrição do Azure. Grupo de recursos my-nextjs-group Nome my-nextjs-app Tipo de plano Gratuito Região para Funções do Azure API e ambientes de teste Selecione uma região mais próxima de si. Origem GitHub Selecione Iniciar sessão com o GitHub e autenticar com o GitHub, se lhe for pedido.
Introduza os seguintes valores do GitHub.
Propriedade Valor Organização Selecione a organização do GitHub adequada. Repositório Selecione nextjs-starter. Ramo Selecione principal. Na secção Detalhes da Compilação , selecione Personalizar nas Predefinições de Compilação. Adicione os seguintes valores como para a configuração da compilação.
Propriedade Valor Localização da aplicação Introduza / na caixa. Localização da API Deixe esta caixa vazia. Localização da saída Introduza na caixa.
3. Rever e criar
Selecione Rever + Criar para verificar se os detalhes estão todos corretos.
Selecione Criar para iniciar a criação do Serviço de Aplicações Aplicação Web Estática e aprovisione um GitHub Actions para implementação.
Assim que a implementação estiver concluída, selecione Ir para recurso.
Na janela Descrição geral , selecione a ligação URL para abrir a aplicação implementada.
Se o site não carregar imediatamente, a compilação ainda está em execução. Para verificar o estado do fluxo de trabalho Ações, navegue para o dashboard Ações do seu repositório:
https://github.com/<YOUR_GITHUB_USERNAME>/nextjs-starter/actions
Assim que o fluxo de trabalho estiver concluído, pode atualizar o browser para ver a sua aplicação Web.
Agora, todas as alterações efetuadas ao main
ramo iniciam uma nova compilação e implementação do seu site.
4. Sincronizar alterações
Quando criou a aplicação, Aplicações Web Estáticas do Azure criou um ficheiro GitHub Actions no seu repositório. Sincronize com o servidor ao obter as informações mais recentes para o repositório local.
Regresse ao terminal e execute o seguinte comando git pull origin main
.
Configurar a Composição Estática
Por predefinição, a aplicação é tratada como uma aplicação Next.js composta híbrida, mas para continuar a utilizá-la como gerador de sites estáticos, tem de atualizar a tarefa de implementação.
Abra o repositório no Visual Studio Code.
Navegue para o ficheiro de GitHub Actions que Aplicações Web Estáticas do Azure adicionado ao repositório em
.github/workflows/azure-static-web-apps-<your site ID>.yml
Atualize a tarefa Compilar e Implementar para ter uma variável de ambiente definida
IS_STATIC_EXPORT
paratrue
:- 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
Consolide as alterações ao git e envie-as para o GitHub.
git commit -am "Configuring static site generation" && git push
Assim que a compilação estiver concluída, o site será composto estaticamente.
Limpar os recursos
Se não quiser continuar a utilizar esta aplicação, pode eliminar a instância Aplicações Web Estáticas do Azure através dos seguintes passos.
- Abra o portal do Azure.
- Procure my-nextjs-group na barra de pesquisa superior.
- Selecione o nome do grupo.
- Selecione Eliminar.
- Selecione Sim para confirmar a ação de eliminação.