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.