Depois de construirmos nosso site de blog localmente, o próximo passo é distribuir o conteúdo do blog online para que outros possam vê-lo.

Pesquisei os sites de hospedagem atuais e encontrei as seguintes opções:

Essas plataformas têm suas próprias características, e apresentarei como implantar em cada uma em próximos artigos. Neste artigo, apresentarei como implantar um site de blog no GitHub Pages.

O que é GitHub Pages?

GitHub Pages é um serviço gratuito de hospedagem de sites estáticos fornecido pelo GitHub, adequado para hospedar blogs, páginas iniciais de projetos, documentação, etc. Você só precisa de um repositório GitHub para publicar seu site em https://seunome.github.io ou um domínio personalizado.

Como Implantar um Site de Blog no GitHub Pages

Plano Geral

Estrutura do Projeto

Assumindo que você tem dois repositórios GitHub:

A estrutura do projeto é a seguinte:

PLAINTEXT
my-hugo-site/
├── content/            # Conteúdo do blog
├── layouts/            # Layouts personalizados para Hugo
├── themes/             # Temas Hugo
├── config.toml        # Arquivo de configuração Hugo
└── .github/workflows/deploy.yml  # Configuração de implantação automática

seunomededeusuario.github.io/
├── (arquivos do site estático publicado)   # Arquivos estáticos gerados pelo Hugo
Click to expand and view more

Passo 1: Criar Dois Repositórios

  1. Crie dois repositórios no GitHub:
  1. No repositório seunomededeusuario.github.io, defina o branch de origem para GitHub Pages como main (ou master).

Passo 2: Configurar GitHub Actions para Implantação Automatizada

No repositório my-hugo-site, crie o arquivo .github/workflows/deploy.yml para configurar construções automatizadas e enviar arquivos estáticos para o repositório seunomededeusuario.github.io.

YAML
name: GitHub Pages

on:
  push:
    branches:
      - main  # O branch padrão para o diretório raiz do blog; aqui é main, às vezes é master
  pull_request:

jobs:
  deploy:
    runs-on: ubuntu-24.04
    concurrency:
      group: ${{ github.workflow }}-${{ github.ref }}
    steps:
      - uses: actions/checkout@v2
        with:
          submodules: true
          fetch-depth: 0

      - name: Setup Hugo
        uses: peaceiris/actions-hugo@v2
        with:
          hugo-version: '0.147.0'  # Especifique sua versão Hugo, pode verificar usando hugo version
          extended: true          # Se você estiver usando uma versão não estendida do Hugo, altere true para false

      - name: Build
        run: git submodule update --init --recursive && hugo --minify

      - name: Deploy
        uses: peaceiris/actions-gh-pages@v3
        if: ${{ github.ref == 'refs/heads/main' }}  # Certifique-se de usar main ou master
        with:
          personal_token: ${{ secrets.MY_PAT}} # Se o segredo tiver outro nome, substitua MY_PAT por esse nome
          external_repository: lxb1226/lxb1226.github.io # Preencha o repositório remoto, não necessariamente neste formato, escreva de acordo com sua situação
          publish_dir: ./public
          #cname: www.example.com        # Preencha seu domínio personalizado. Se nenhum domínio personalizado for usado, comente esta linha
Click to expand and view more

Você pode consultar meu deploy.yaml

Obtendo GitHub Secrets

No arquivo yaml acima, você precisa obter o personal_token. Você pode obtê-lo do repositório my-hugo-site.

Você pode recuperá-lo no repositório -> Settings -> Secrets and variables -> Actions.

personal_token

Passo 3: Configurar GitHub Pages

  1. No repositório seunomededeusuario.github.io, vá para Settings → Pages.
  2. Defina o Source como o branch main e certifique-se de que GitHub Pages está configurado corretamente.
  3. Depois de salvar, o site estático será hospedado em https://seunomededeusuario.github.io/.

Processo de Publicação Automática do Blog

  1. Escreva artigos e modifique o site no repositório my-hugo-site.
  2. Cada vez que você envia atualizações para o branch main, GitHub Actions construirá automaticamente e enviará os arquivos estáticos para o repositório seunomededeusuario.github.io.
  3. GitHub Pages atualizará automaticamente e mostrará em https://seunomededeusuario.github.io/. (Geralmente, isso leva algum tempo)

Referências

  1. https://docs.github.com/en/actions
  2. https://gohugo.io/documentation/
  3. https://lxb1226.github.io/
  4. https://github.com/lxb1226/heyjude-blog

Copyright Notice

Author: heyjude

Link: https://heyjude.blog/pt/posts/how-to-depoly-blog-to-github/

License: CC BY-NC-SA 4.0

This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License. Please attribute the source, use non-commercially, and maintain the same license.

Comments

Iniciar busca

Digite palavras-chave para buscar

↑↓
ESC
⌘K Atalho