Skip to main content

Enterprise Server 3.20 actualmente está disponible como versión candidata para lanzamiento.

Uso de flujos de trabajo personalizados con GitHub Pages

Puedes sacar partido al uso de GitHub Actions y GitHub Pages si creas un archivo de flujo de trabajo o eliges uno de los flujos de trabajo predefinidos.

¿Quién puede utilizar esta característica?

GitHub Pages se encuentra disponible en los repositorios públicos con GitHub Free y con GitHub Free para las organizaciones, y en los repositorios públicos y privados con GitHub Pro, GitHub Team, GitHub Enterprise Cloud, y GitHub Enterprise Server.

Acerca de los flujos de trabajo personalizados

Los flujos de trabajo personalizados permiten crear sitios de GitHub Pages mediante el uso de GitHub Actions. Puedes seleccionar igualmente la rama que quieres usar mediante el archivo de flujo de trabajo, pero con los flujos de trabajo personalizados podrás hacer mucho más. Para empezar a usar flujos de trabajo personalizados, primero debes habilitarlos para el repositorio actual. Para más información, consulta AUTOTITLE.

Configuración de la acción

Con GitHub Actions, es posible usar GitHub Pages en la acción , lo que también permite recopilar metadatos diferentes sobre un sitio web. Para obtener más información, consulte la acción .

Para usar la acción, coloca este fragmento de código bajo en el flujo de trabajo deseado.

- name: Configure GitHub Pages
  uses: actions/configure-pages@v5

Esta acción ayuda a soportar la implementación desde cualquier generador de sitios estáticos a GitHub Pages. Para que este proceso sea menos repetitivo, puede usar plantillas de flujo de trabajo para algunos de los generadores de sitios estáticos más utilizados. Para más información, consulta AUTOTITLE.

Configuración de la acción

La acción permite empaquetar y cargar artefactos. El artefacto GitHub Pages debe ser un archivo comprimido que contenga un solo archivo . El archivo debe tener menos de 10 GB de tamaño y no debe contener ningún vínculo simbólico o físico. Para obtener más información, consulte la acción .

Para usar la acción en el flujo de trabajo actual, coloca este fragmento de código bajo .

- name: Upload GitHub Pages artifact
  uses: actions/upload-pages-artifact@v2

Implementación de artefactos de GitHub Pages

La acción gestiona la configuración necesaria para implementar artefactos. Para garantizar una funcionamiento correcto, es necesario cumplir los requisitos siguientes:

  • El trabajo debe tener como mínimo permisos y .
  • El parámetro debe establecerse en el del paso de compilación. Si no se establece este parámetro, podría producirse una implementación independiente que busque continuamente un artefacto que no se ha creado.
  • Es necesario establecer un valor de para aplicar reglas de protección de rama o implementación. El entorno predeterminado es .
  • Para especificar la dirección URL de la página como salida, usa el campo .

Para obtener más información, consulte la acción .

# ...

jobs:
  deploy:
    permissions:
      contents: read
      pages: write
      id-token: write
    runs-on: ubuntu-latest
    needs: jekyll-build
    environment:
      name: github-pages
      url: ${{steps.deployment.outputs.page_url}}
    steps:
      - name: Deploy artifact
        id: deployment
        uses: actions/deploy-pages@v3
# ...

Vinculación de trabajos independientes de compilación e implementación

Puedes vincular tus trabajos y procesos en un solo archivo de flujo de trabajo, eliminando la necesidad de crear dos archivos independientes para lograr el mismo resultado. Para empezar a trabajar en el archivo de flujo de trabajo, puedes definir bajo un trabajo y para ejecutar los trabajos.

# ...

jobs:
  # Build job
  build:
    runs-on: ubuntu-latest
    steps:
      - name: Checkout
        uses: actions/checkout@v5
      - name: Setup Pages
        id: pages
        uses: actions/configure-pages@v5
      - name: Build with Jekyll
        uses: actions/jekyll-build-pages@v1
        with:
          source: ./
          destination: ./_site
      - name: Upload artifact
        uses: actions/upload-pages-artifact@v2

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

En algunos casos, puedes optar por combinarlo todo en un solo trabajo, sobre todo si no se requiere un proceso de compilación. En tal caso, solo te centrarías en el paso de implementación.

# ...

jobs:
  # Single deploy job no building
  deploy:
    environment:
      name: github-pages
      url: ${{steps.deployment.outputs.page_url}}
    runs-on: ubuntu-latest
    steps:
      - name: Checkout
        uses: actions/checkout@v5
      - name: Setup Pages
        uses: actions/configure-pages@v5
      - name: Upload Artifact
        uses: actions/upload-pages-artifact@v2
        with:
          # upload entire directory
          path: '.'
      - name: Deploy to GitHub Pages
        id: deployment
        uses: actions/deploy-pages@v3

# ...

Puedes establecer que los trabajos se ejecuten en ejecutores diferentes, secuencialmente o en paralelo. Para más información, consulta AUTOTITLE.