Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Este artigo demonstra como criar e implantar um aplicativo Web Hugo nos Aplicativos Web Estáticos do Azure. O resultado final é um novo Aplicativo Web Estático do Azure com o GitHub Actions associado que fornece controle sobre como o aplicativo é criado e publicado.
Neste tutorial, você aprenderá como:
- Criar um aplicativo Hugo
- Configurar um Aplicativo Web Estático do Azure
- Implantar o aplicativo Hugo no Azure
Se você ainda não tiver uma conta do Azure, crie uma conta gratuita antes de começar.
Pré-requisitos
- Uma conta do Azure com uma assinatura ativa. Se você não tiver uma, crie uma conta gratuita.
- Uma conta do GitHub. Se você não tiver uma, crie uma conta gratuita.
- Uma configuração do Git instalada. Se você não tiver um, poderá instalar o Git.
Criar um aplicativo Hugo
Criar um aplicativo Hugo usando a CLI (Interface de Linha de Comando) do Hugo:
Siga o guia de instalação do Hugo no sistema operacional.
Abra um terminal
Execute a CLI do Hugo para criar um novo aplicativo.
hugo new site static-appVá para o aplicativo recém-criado.
cd static-appInicialize um repositório Git.
git initVerifique se o branch tem o nome
main.git branch -M mainEm seguida, adicione um tema ao site instalando um tema como um submodule git e, em seguida, especificando-o no arquivo de configuração hugo.
git submodule add https://github.com/budparr/gohugo-theme-ananke.git themes/ananke echo 'theme = "ananke"' >> config.tomlConfirme as alterações.
git add -A git commit -m "initial commit"
Envie por push seu aplicativo para o GitHub.
Você precisa de um repositório no GitHub para se conectar aos Aplicativos Web Estáticos do Azure. As etapas a seguir mostram como criar um repositório para seu site.
Crie um repositório GitHub em branco (não crie um README) com o https://github.com/new nome hugo-static-app.
Adicione o repositório GitHub como um remoto ao repositório local. Adicione o nome de usuário do GitHub no lugar do espaço reservado
<YOUR_USER_NAME>no comando a seguir.git remote add origin https://github.com/<YOUR_USER_NAME>/hugo-static-appEfetue push do repositório local para o GitHub.
git push --set-upstream origin main
Implantar o aplicativo Web
As etapas a seguir mostram como criar um novo aplicativo de site estático e implantá-lo em um ambiente de produção.
Criar o aplicativo
Ir para o portal do Azure
Selecione Criar um Recurso
Pesquise Aplicativos Web Estáticos
Selecione Aplicativos Web Estáticos
Selecione Criar
Na guia Básico, insira os valores a seguir.
Propriedade Valor Subscrição Seu nome da assinatura do Azure. Grupo de recursos my-hugo-group Nome hugo-static-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ê. Fonte GitHub Selecione Entrar com o GitHub e faça a autenticação no GitHub.
Insira os valores do GitHub a seguir.
Propriedade Valor Organização Selecione a organização do GitHub desejada. Repositório Selecione hugo-static-app. Filial Selecione main. Observação
Se você não vir nenhum repositório, talvez seja necessário autorizar o Aplicativos Web Estáticos do Azure no GitHub. Navegue até o repositório do GitHub e vá para Configurações > Aplicativos > Aplicativos OAuth Autorizados, selecione Aplicativos Web Estáticos do Azure e Conceder. Em repositórios corporativos, você precisa ser um proprietário da organização para conceder as permissões.
Na seção Detalhes do Build, selecione Hugo no menu suspenso Predefinições de Build e mantenha os valores padrão.
Revisar 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 a implantação for concluída, selecione Ir para o recurso.
Na tela de recursos, selecione o link URL para abrir o aplicativo implantado. Talvez seja necessário aguardar um minuto ou dois para que a GitHub Actions seja concluída.
Versão personalizada do Hugo
Quando você gera um Aplicativo Web Estático, um arquivo de fluxo de trabalho é gerado que contém as configurações de publicação do aplicativo. Você pode designar uma versão específica do Hugo no arquivo de fluxo de trabalho fornecendo um valor para HUGO_VERSION na seção env. A configuração de exemplo a seguir demonstra como definir o Hugo para uma versão específica.
jobs:
build_and_deploy_job:
if: github.event_name == 'push' || (github.event_name == 'pull_request' && github.event.action != 'closed')
runs-on: ubuntu-latest
name: Build and Deploy Job
steps:
- uses: actions/checkout@v3
with:
submodules: true
- name: Build And Deploy
id: builddeploy
uses: Azure/static-web-apps-deploy@v1
with:
azure_static_web_apps_api_token: ${{ secrets.AZURE_STATIC_WEB_APPS_API_TOKEN }}
repo_token: ${{ secrets.GITHUB_TOKEN }} # Used for GitHub integrations (i.e. PR comments)
action: "upload"
###### Repository/Build Configurations - These values can be configured to match you app requirements. ######
# For more information regarding Static Web App workflow configurations, please visit: https://aka.ms/swaworkflowconfig
app_location: "/" # App source code path
api_location: "api" # Api source code path - optional
output_location: "public" # Built app content directory - optional
###### End of Repository/Build Configurations ######
env:
HUGO_VERSION: 0.58.0
Implantação alternativa usando a CLI da SWA
Se o aplicativo Hugo tiver dependências que exigem configuração adicional, como módulos GoLang, você poderá usar a CLI de Aplicativos Web Estáticos do Azure para implantação diretamente. Veja abaixo um exemplo de fluxo de trabalho do GitHub Actions que instala a CLI e implanta seu aplicativo:
jobs:
build_and_deploy_job:
runs-on: ubuntu-latest
name: Build and Deploy with SWA CLI
steps:
- name: Checkout code
uses: actions/checkout@v3
with:
submodules: true
- name: Install SWA CLI
run: npm install -g @azure/static-web-apps-cli
- name: Build Hugo site
run: |
# Install Hugo modules
hugo mod get
# Minify the supported output formats
hugo --minify
- name: Deploy with SWA CLI
env:
AZURE_STATIC_WEB_APPS_API_TOKEN: ${{ secrets.AZURE_STATIC_WEB_APPS_API_TOKEN }}
run: |
swa deploy ./public --api-location ./api --env production
Esse fluxo de trabalho cria o site do Hugo e o implanta usando a CLI de Aplicativos Web Estáticos do Azure. Ele pressupõe que o go.mod arquivo esteja localizado no diretório raiz do seu projeto para gerenciar dependências e configurações de módulo.
Usar o recurso Informações do Git em seu aplicativo Hugo
Se o aplicativo Hugo usa o recurso Informações do Git, o arquivo de fluxo de trabalho padrão criado para o aplicativo Web estático usará a ação de check-out do GitHub para buscar uma versão superficial do repositório Git, com uma profundidade padrão igual a 1. Nesse cenário, Hugo vê todos os seus arquivos de conteúdo como provenientes de uma única confirmação, para que eles tenham o mesmo autor, carimbo de data/hora de última modificação e outras .GitInfo variáveis.
Atualize o arquivo de fluxo de trabalho para buscar o histórico completo do Git adicionando um novo parâmetro na etapa actions/checkout para definir fetch-depth como 0 (sem limite):
- uses: actions/checkout@v3
with:
submodules: true
fetch-depth: 0
Buscar o histórico completo aumenta o tempo de construção do fluxo de trabalho do GitHub Actions, mas suas variáveis .Lastmod e .GitInfo são precisas e estão disponíveis para todos os seus arquivos de conteúdo.
Limpar os recursos
Se você não quiser continuar usando esse aplicativo, poderá excluir o recurso Aplicativo Web Estático do Azure com as seguintes etapas:
- Abra o portal do Azure
- Na barra de pesquisa superior, pesquise seu aplicativo pelo nome fornecido anteriormente
- Clique no aplicativo
- Clique no botão Excluir
- Clique em Sim para confirmar a ação