Una vez que hemos construido nuestro sitio web de blog localmente, el siguiente paso es distribuir el contenido del blog en línea para que otros puedan verlo.

Investigué los sitios web de hosting actuales y encontré las siguientes opciones:

Estas plataformas tienen sus propias características, y presentaré cómo desplegar en cada una en próximos artículos. En este artículo, presentaré cómo desplegar un sitio web de blog en GitHub Pages.

¿Qué es GitHub Pages?

GitHub Pages es un servicio gratuito de hosting de sitios web estáticos proporcionado por GitHub, adecuado para hosting de blogs, páginas de inicio de proyectos, documentación, etc. Solo necesitas un repositorio de GitHub para publicar tu sitio web en https://tunombre.github.io o un dominio personalizado.

Cómo Desplegar un Sitio Web de Blog en GitHub Pages

Plan General

Estructura del Proyecto

Asumiendo que tienes dos repositorios de GitHub:

La estructura del proyecto es la siguiente:

PLAINTEXT
my-hugo-site/
├── content/            # Contenido del blog
├── layouts/            # Layouts personalizados para Hugo
├── themes/             # Temas de Hugo
├── config.toml        # Archivo de configuración de Hugo
└── .github/workflows/deploy.yml  # Configuración de despliegue automático

tunombredeusuario.github.io/
├── (archivos del sitio web estático publicado)   # Archivos estáticos generados por Hugo
Haz clic para expandir y ver más

Paso 1: Crear Dos Repositorios

  1. Crea dos repositorios en GitHub:
  1. En el repositorio tunombredeusuario.github.io, establece la rama de origen para GitHub Pages en main (o master).

Paso 2: Configurar GitHub Actions para Despliegue Automatizado

En el repositorio my-hugo-site, crea el archivo .github/workflows/deploy.yml para configurar las construcciones automatizadas y enviar los archivos estáticos al repositorio tunombredeusuario.github.io.

YAML
name: GitHub Pages

on:
  push:
    branches:
      - main  # La rama predeterminada para el directorio raíz del blog; aquí es main, a veces es 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'  # Especifica tu versión de Hugo, puedes verificar usando hugo version
          extended: true          # Si estás usando una versión no extendida de Hugo, cambia true a 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' }}  # Asegúrate de usar main o master
        with:
          personal_token: ${{ secrets.MY_PAT}} # Si el secreto tiene otro nombre, reemplaza MY_PAT con ese nombre
          external_repository: lxb1226/lxb1226.github.io # Completa el repositorio remoto, no necesariamente este formato, escribe según tu situación
          publish_dir: ./public
          #cname: www.example.com        # Completa tu dominio personalizado. Si no se usa dominio personalizado, comenta esta línea
Haz clic para expandir y ver más

Puedes consultar mi deploy.yaml

Obtener GitHub Secrets

En el archivo yaml anterior, necesitas obtener el personal_token. Puedes obtenerlo del repositorio my-hugo-site.

Puedes recuperarlo en el repositorio -> Settings -> Secrets and variables -> Actions.

personal_token

Paso 3: Configurar GitHub Pages

  1. En el repositorio tunombredeusuario.github.io, ve a Settings → Pages.
  2. Establece el Source en la rama main y asegúrate de que GitHub Pages esté configurado correctamente.
  3. Después de guardar, el sitio web estático será hosted en https://tunombredeusuario.github.io/.

Proceso de Publicación Automática del Blog

  1. Escribe artículos y modifica el sitio en el repositorio my-hugo-site.
  2. Cada vez que envías actualizaciones a la rama main, GitHub Actions construirá automáticamente y enviará los archivos estáticos al repositorio tunombredeusuario.github.io.
  3. GitHub Pages se actualizará automáticamente y se mostrará en https://tunombredeusuario.github.io/. (Por lo general, esto toma algún tiempo)

Referencias

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

Aviso de derechos de autor

Autor: heyjude

Enlace: https://heyjude.blog/es/posts/how-to-depoly-blog-to-github/

Licencia: 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.

Comentarios

Comenzar búsqueda

Ingrese palabras clave para buscar artículos

↑↓
ESC
⌘K Atajo