Hospedar um site do Hugo framework é algo bem fácil rápido e por ser um site estático existem diversos provedores onde você consegue hospeda-lo de forma gratuita.

Nesse artigo vou mostrar como hospedar na Netlify que é um plataforma com bastantes recursos legais para você hospedar, gerenciar, fazer deploys usando CI/CD e muito mais, e tudo já incluso na versão gratuita.

Pré-requisitos:

  • Site em Hugo

    Caso não tenha o site em hugo, nesse tutorial ensino como criar

    https://tiagoscosta.com.br/posts/hugo-framework-criando-o-primeiro-site/

    Ou você pode clonar esse repositório, com o submódulo, pois é ele que uso nesse tutorial

    git clone https://github.com/tiagotsc/hugo-first-site.git --recurse-submodules

  • Conta no Github (É gratuito)

    Esse serviço que é muito popular para armazenar e compartilhar códigos que servirá de ponte para hospedarmos nosso site no Netlify

    Caso não tenha conta, segue o link do serviço para criar a sua

    https://github.com

  • Conta no Netlify (É gratuito)

    Esse PaaS (plataforma como serviço) é muito amigável e intuitivo, com diversas ferramentas muito úteis, é onde nosso site ficará hospedado

    Caso não tenha conta, segue o link do serviço para criar a sua

    https://www.netlify.com

Enviando site para o Github Link para o cabeçalho

Estando logado no Github, primeiro precisamos criar um repositório.

No seu Github vá em repositories > new.

Dê um nome para o repositório no campo Repository name * e clique em Create repository

No meu caso criei com o nome de first-site

Na tela que aparece, o que é importante para nós é o que está no bloco campo …or create a new repository on the command line

Vamos usar os comandos que você visualizou com alguns adicionais para subir todo o nosso site.

Observação: Se estiver usando o Windows, use o Git bash para não ter problema de enconding no seu site.

Execute o comando abaixo substituindo na parte do git remote, na parte de URL pelo seu usuário e seu repositório.

echo "# first-site" >> README.md
git init
git add .
git commit -m "first commit"
git branch -M main
git remote add origin https://github.com/SEU-USUARIO/SEU-REPOSITORIO.git
git push -u origin main

Agora volte na tela do Github e dê um refresh, tudo ocorrendo bem, você já vai ver seu código disponível lá.

confirmação código no Github

Hospedando no Netlify Link para o cabeçalho

Precisamos configura a hospedagem do nosso site.

Estando logado, na tela principal, clique no link Add new site depois em Import an existing project

Netlify-importando projeto

Na tela que aparece, clique na opção Github

Netlify - selecione Github

Depois clique na opção lá embaixo Configure the Netlify app on GitHub.

Para que possamos dar permissão de acesso do Netlify ao nosso repositório criado no Github.

Netlify - permissão repositório Github1

Na janela que aparece, rola a tela até o bloco Repository access

Selecione a opção Only select repositories, depois pesquise pelo seu repositório criado no Github e selecione, no meu caso foi o first-site, depois clique em Save

Netlify - permissão repositório Github2

Agora o repositório deve aparecer na tela do Netlify, clique nele.

Netlify - selecionando repositório Github

Na tela que aparece, vá para o bloco Build settings e configure:

Veja se o campo Branch to deploy está selecionado main, pois é ela que será sempre usada no processo.

Campo Build command, defina hugo, pois é esse comando que compila nosso site.

Campo publish directory, defina public, pois o site final é armazenado nesse diretório.

No próximo campo precisaremos da versão exata do Hugo Framework, lá no terminal na pasta raiz do seu site, execute:

hugo version

No meu caso a minha versão é a 0.135.0

Versão Hugo

Clique no botão Add environment variables e defina a key como HUGO_VERSION e valor coloque o que obteve anteriormente.

Sua tela deve ficar bem parecida com essa.

Netlify - tela config

Agora clique no botão de Deploy "nome-seu-site" no fim da tela.

Netlify - botão deploy

Esse processo demora alguns segundos, o Netlify inicia o processo de deploy (passagem para produção) do seu site.

Tudo ocorrendo bem, você deve ver a seguinte tela.

Netlify - deploy ok

Veja que o Netlify gerou uma url para o nosso site e fez um registro de log de todo o processo de passagem do site para o ambiente deles.

No meu caso a URL gerada foi https://spontaneous-figolla-d5e343.netlify.app/, mas para você deve ser outra.

Agora você já pode acessar seu site!

site ok

E já pode acompanhar os logs de alteração deploy do seu site também.

Agora você já pode criar suas páginas, postagens, envie elas para o Github, o Netlify vai puxar automaticamente e vai disponibilizar cada alteração que você criar🙂!

Em breve abordarei mais recursos sobre o assunto.

Comandos úteis

# COMANDOS HUGO

# Compila o site, o resultado fica diponível na pasta public
hugo

# Sobe o site localmente sem exibir postagens de rascunhos (padrão do Hugo)
hugo server

# Sobe o site localmente exibindo postagens de rascunhos
hugo server -D

# Sobe o site localmente deixando-o acesssível de qualquer dispositivo na rede
# Bom para acessar de outra máquina ou visualizar no celular
hugo server --bind 0.0.0.0 --baseURL http://0.0.0.0 --port 1313 -D
Ou
hugo server --bind=0.0.0.0 --baseURL=http://0.0.0.0:1313 -D

# Cria uma nova postagem
hugo new content content/posts/my-first-post.md

# Listar comandos
hugo -h

# Mais detalhes dos comandos na documentação oficial
https://gohugo.io/commands

Links úteis

Documentação da Netlify sobre deploy do Hugo

https://docs.netlify.com/frameworks/hugo

Documentação do Hugo sobre deploy no Netlify

https://gohugo.io/hosting-and-deployment/hosting-on-netlify

Documentação oficial do Hugo

https://gohugo.io/documentation