Nota: GitHub Actions estuvo disponible para GitHub Enterprise Server 2.22 como un beta limitado. El beta terminó. GitHub Actions está ahora disponible habitualmente en GitHub Enterprise Server 3.0 o superior. Para obtener más información, consulta la sección de notas de lanzamiento para GitHub Enterprise Server 3.0.
- Para obtener más información acerca de cómo mejorar a GitHub Enterprise Server 3.0 o superior, consulta la sección "Mejorar a GitHub Enterprise Server".
- Para obtener más información acerca de configurar las GitHub Actions después de tu mejora, consulta la documentación de GitHub Enterprise Server 3.0.
Nota: Los ejecutores hospedados en GitHub no son compatibles con GitHub Enterprise Server actualmente. Puedes encontrar más información sobre el soporte que se tiene planeado en el futuro en el Itinerario público de GitHub.
Acerca de las acciones de configuración incluídas y el caché de la herramienta del ejecutor
Las GitHub Actions en GitHub Enterprise Server están diseñadas para funcionar como ambientes sin acceso completo a la internet. Predeterminadamente, los flujos de trabajo no utilizan acciones de GitHub.com y GitHub Marketplace.
La mayoría de las acciones de autoría de GitHub se agrupan automáticamente con GitHub Enterprise Server. Sin embargo, los ejecutores auto-hospedados sin acceso a internet requieren que se les configure un poco antes de que puedan utilizar las acciones de actions/setup-LANGUAGE
incluídas, tal como setup-node
.
Las acciones de actions/setup-LANGUAGE
habitualmente necesitan acceso a internet para descargar los binarios de ambiente requeridos en el caché de la herramienta del ejecutor. Los ejecutores auto-hospedados sin acceso a internet no pueden descargar los binarios, así que debes poblar el caché de la herramienta manualmente en el ejecutor.
Puedes poblar el caché de la herramienta del ejecutor si ejecutas un flujo de trabajo de GitHub Actions en GitHub.com que cargue un caché de la herramienta del ejecutor hospedada en GitHub, la cual puedes transferir y extraer posteriormente en tu ejecutor auto-hospedado sin acceso a internet.
Nota: Solo puedes utilizar un caché de la herramienta del ejecutor hospedado en GitHub para un ejecutor auto-hospedado que tenga un sistema operativo y arquitectura idénticos. Por ejemplo, si estás utilizando un ejecutor hospedado en GitHub con ubuntu-18.04
para generar un caché de la herramienta, tu ejecutor auto-hospedado también debe ser una máquina con Ubuntu 18.04 de 64 bits. Para obtener más información sobre los ejecutores hospedados en GitHub, consulta la sección "Ambientes virtuales para los ejecutores hospedados en GitHub".
Prerrequisitos
- Determina qué ambientes de desarrollo necesitarán tus ejecutores auto-hospedados. El siguiente ejemplo demuestra cómo poblar el caché de la herramienta para la acción
setup-node
, utilizando las versiones 10 y 12 de Node.js. - Accede a un repositorio en GitHub.com que puedas utilizar para ejecutar un flujo de trabajo.
- Accede al sistema de archivos de tu ejecutor auto-hospedado para poblar la carpeta del caché de la herramienta.
Poblar el caché de la herramienta para un ejecutor auto-hospedado
-
En GitHub.com, navega a un repositorio que puedas utilizar para ejecutar un flujo de trabajo de GitHub Actions.
-
Crea un archivo de flujo de trabajo nuevo en la carpeta
.github/workflows
del repositorio, el cual cargue un artefacto que contenga el caché de la herramienta del ejecutor hospedado en GitHub.El siguiente ejemplo muestra un flujo de trabajo que carga el caché de la herramienta para un ambiente de Ubuntu 18.04 utilizando la acción
setup-node
con las versiones 10 y 12 de Node.js.name: Upload Node.js 10 and 12 tool cache on: push jobs: upload_tool_cache: runs-on: ubuntu-18.04 steps: - name: Clear any existing tool cache run: | mv "${{ runner.tool_cache }}" "${{ runner.tool_cache }}.old" mkdir -p "${{ runner.tool_cache }}" - name: Setup Node 10 uses: actions/setup-node@v2 with: node-version: 10.x - name: Setup Node 12 uses: actions/setup-node@v2 with: node-version: 12.x - name: Archive tool cache run: | cd "${{ runner.tool_cache }}" tar -czf tool_cache.tar.gz * - name: Upload tool cache artifact uses: actions/upload-artifact@v2 with: path: ${{runner.tool_cache}}/tool_cache.tar.gz
-
Descarga el artefacto del caché de la herramienta desde la ejecución del flujo de trabajo. Para obtener instrucciones sobre còmo descargar artefactos, consulta la secciòn "Descargar artefactos de los flujos de trabajo".
-
Transfiere el artefacto del caché de la herramienta a tu ejecutor auto-hospedado y extráelo al directorio local del caché de la herramienta. El directorio predeterminado del caché de la herramienta es
RUNNER_DIR/_work/_tool
. Si el ejecutor no ha procesado ningún job aún, podrías necesitar crear los directorios_work/_tool
.Después de extraer el artefacto del caché de la herramienta que se cargó en el ejemplo anterior, deberás tener una estructura de directorio en tu ejecutor auto-hospedado que sea similar al siguiente ejemplo:
RUNNER_DIR ├── ... └── _work ├── ... └── _tool └── node ├── 10.22.0 │ └── ... └── 12.18.3 └── ...
Tu ejecutor auto-hospedado sin acceso a internet debería ahora poder utilizar la acción setup-node
. Si experimentas algún problema, asegúrate de que hayas poblado el caché de la herramienta correcta para tus flujos de trabajo. Por ejemplo, si necesitas utilizar la acción setup-python
, necesitarás poblar el caché de la herramienta con el ambiente de Python que quieras utilizar.