Inicio > Cursos > Git y GitHub > GitHub Pages y Releases
Git y GitHubGitHub y ColaboraciónLección 14 de 15

GitHub Pages y Releases

GitHub Pages permite alojar sitios web estáticos directamente desde un repositorio, de forma gratuita. Es perfecto para documentación, portfolios y demos de proyectos.

Los GitHub Releases son publicaciones formales de versiones de tu software, vinculadas a un tag. Incluyen notas de la versión, archivos descargables (assets) y el código fuente.

# .github/workflows/deploy-pages.yml
name: Deploy a GitHub Pages

on:
  push:
    branches: [main]

permissions:
  contents: read
  pages: write
  id-token: write

jobs:
  build:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4

      - uses: actions/setup-node@v4
        with:
          node-version: '20'
          cache: 'npm'

      - run: npm ci
      - run: npm run build
        env:
          PUBLIC_URL: /${{ github.event.repository.name }}

      - name: Subir artefacto de Pages
        uses: actions/upload-pages-artifact@v3
        with:
          path: ./dist

  deploy:
    needs: build
    runs-on: ubuntu-latest
    environment:
      name: github-pages
      url: ${{ steps.deployment.outputs.page_url }}
    steps:
      - name: Deploy a GitHub Pages
        id: deployment
        uses: actions/deploy-pages@v4

# Para Release con assets:
# gh release create v1.2.0 \
#   --title "Release v1.2.0" \
#   --notes "Changelog..." \
#   ./dist/app.zip
Consejo🚀 Usa la action actions/deploy-pages oficial en vez de peaceiris/actions-gh-pages para nuevos proyectos. Es la solución mantenida por GitHub y más segura.
← Issues, Labels y ProyectosEstrategias de Branching →

Practica esta lección

Resuelve los ejercicios del curso de Git y GitHub en la app, gratis y con corrección automática.

Empezar a practicar