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.
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.
El acercamiento recomendado para habilitar el acceso a las acciones de GitHub.com es habilitar el acceso automático para todas las acciones. Puedes hacer esto si utilizas GitHub Connect para integrar a GitHub Enterprise Server con Nube de GitHub Enterprise. Para obtener más información, consulta la sección "Habilitar el acceso automático a las acciones de GitHub.com utilizandoGitHub Connect".
Sin embargo, si quieres tener un control más estricto sobre qué acciones se permiten en tu empresa, puedes seguir esta guía para utilizar la herramienta actions-sync
de código abierto de GitHub para sincronizar los repositorios de acciones individuales desde GitHub.com hacia tu empresa.
Acerca de la herramienta actions-sync
La herramienta actions-sync
debe ejecutarse en una máquina que pueda acceder a la API de GitHub.com y a la API de tu instancia de GitHub Enterprise Server. La máquina no necesita estar conectada a ambas al mismo tiempo.
Si tu máquina tiene acceso a ambos sistemas al mismo tiempo, puedes hacer la sincronización con un simple comando de actions-sync sync
. Si sólo puedes acceder a un sistema a la vez, puedes utilizar los comandos actions-sync pull
y push
.
La herramienta actions-sync
solo puede descargar acciones de GitHub.com que estén almacenadas en repositorios públicos.
Prerrequisitos
-
Antes de utilizar la herramienta
actions-sync
, debes asegurarte de que todas las organizaciones de destino ya existan en tu empresa. El siguiente ejemplo demuestra cómo sincronizar acciones a una organización que se llamasynced-actions
. Para obtener más información, consulta la sección "Crear una organización nueva desde cero". -
Debes crear un token de acceso personal (PAT) en tu empresa que pueda crear y escribir en los repositorios de las organizaciones destino. Para obtener más información, consulta la sección "Crear un token de acceso personal".
-
Si quieresSi quieres sincronizar las acciones incluidas en la organización
actions
en tu instancia de GitHub Enterprise Server, debes ser un propietario de la organizaciónactions
.Nota: Predeterminadamente, incluso los administradores de sitio no son propietarios de la organización empaquetada
actions
.Los administradores de sitio pueden utilizar el comando
ghe-org-admin-promote
en el shell administrativo para promover a un usuario para que sea propietario de la organización empaquetadaactions
. Para obtener más información, consulta la sección "Acceder al shell administrativo (SSH)" y "ghe-org-admin-promote
".ghe-org-admin-promote -u USERNAME -o actions
Example: Using the actions-sync
tool
This example demonstrates using the actions-sync
tool to sync an individual action from GitHub.com to an enterprise instance.
Note: This example uses the actions-sync sync
command, which requires concurrent access to both the GitHub.com API and your enterprise instance's API from your machine. If you can only access one system at a time, you can use the actions-sync pull
and push
commands. For more information, see the actions-sync
README.
-
Download and extract the latest
actions-sync
release for your machine's operating system. -
Crea un directorio para almacenar los archivos de caché para la herramienta.
-
Run the
actions-sync sync
command:./actions-sync sync \ --cache-dir "cache" \ --destination-token "aabbccddeeffgg" \ --destination-url "https://my-ghes-instance" \ --repo-name "actions/stale:synced-actions/actions-stale"
El comando anterior utiliza los siguientes argumentos:
-
--cache-dir
: El directorio del caché en la máquina que ejecuta el comando. -
--destination-token
: Un token de acceso personal para la instancia empresarial de destino. -
--destination-url
: La URL de la instancia empresarial de destino. -
--repo-name
: El repositorio de acción a sincronizar. Esto adopta el formato deowner/repository:destination_owner/destination_repository
.- El ejemplo anterior sincroniza el repositorio
actions/stale
con el repositoriosynced-actions/actions-stale
en la instancia empresarial de destino. Debes crear la organización denominadasynced-actions
en tu empresa antes de ejecutar el comando anterior. - Si omites el
:destination_owner/destination_repository
, la herramienta utilizará el nombre de propietario y de repositorio originales para tu empresa. Antes de ejecutar el comando, debes crear una organización nueva en tu empresa, la cual empate con el nombre de propietario de la acción. Considera utilizar una organización central para almacenar las acciones sincronizadas en tu empresa, ya que esto significa que no necesitarás crear varias organizaciones nuevas si sincronizas las acciones de propietarios diferentes. - Puedes sincronizar varias acciones si reemplazas el parámetro
--repo-name
con--repo-name-list
o con--repo-name-list-file
. Para obtener más información, consulta el README deactions-sync
.
- El ejemplo anterior sincroniza el repositorio
-
-
Después de que se haya creado el repositorio de acción en tu empresa, las personas en tu empresa pueden utilizar el repositorio de destino para referenciar la acción en sus flujos de trabajo. Para la acción de ejemplo que se muestra a continuación:
uses: synced-actions/actions-stale@v1
Para obtener más información, consultala sección "Sintaxis de flujo de trabajo para GitHub Actions".