Administración de ejecutores

Completado

En esta sección, explorará las distintas herramientas y estrategias disponibles en GitHub Enterprise Cloud y GitHub Enterprise Server para administrar el uso de ejecutores de Acciones de GitHub en la empresa.

Selección de un ejecutor adecuado para la carga de trabajo

Dos tipos de ejecutores pueden ejecutar flujos de trabajo de Acciones de GitHub: Ejecutores hospedados en GitHub o ejecutores autohospedados.

Nota:

Los ejecutores hospedados en GitHub solo están disponibles para Enterprise Cloud. Si tiene una instancia de Enterprise Server, esta sección no se le aplica.

Los ejecutores hospedados en GitHub ofrecen una manera más rápida y sencilla de ejecutar los flujos de trabajo, mientras que los ejecutores autohospedados son una manera muy configurable de ejecutar flujos de trabajo en su propio entorno personalizado. Por ejemplo, si necesita usar una lista de direcciones IP permitidas para la organización o una configuración de hardware especializada para ejecutar los flujos de trabajo, use un ejecutor autohospedado.

En la tabla siguiente se comparan los ejecutores hospedados en GitHub con los autohospedados. Úsela para elegir el ejecutor adecuado para la carga de trabajo.

Ejecutores hospedados en GitHub Ejecutores autohospedados
Reciben actualizaciones automáticas para el sistema operativo, paquetes y herramientas preinstalados y la aplicación del ejecutor autohospedado. Reciben actualizaciones automáticas solo para la aplicación del ejecutor autohospedado. Usted es responsable de actualizar el sistema operativo y el resto del software.
Se administran y mantienen desde GitHub. Pueden usar servicios en la nube o máquinas locales por las que ya paga. También son personalizables según sus requisitos de hardware, sistema operativo, software y seguridad.
Proporcionan una instancia limpia para cada ejecución de trabajo. No necesitan una instancia limpia para cada ejecución de trabajo.
Usan los minutos gratuitos del plan de GitHub. Una vez consumidos, se aplican las tarifas por minuto. Se pueden usar gratuitamente con las Acciones de GitHub, pero usted es responsable del costo de mantener las máquinas de los ejecutores.

Configuración del acceso a ejecutores autohospedados

En Enterprise Cloud y Enterprise Server, los grupos de ejecutores autohospedados permiten controlar el acceso a los ejecutores autohospedados en la organización y la empresa. Esta característica puede resultar útil para los casos en los que necesite restringir el acceso a los ejecutores autohospedados a organizaciones o usuarios específicos. Por ejemplo, en función del nivel de confianza para estas organizaciones o usuarios, o para mitigar los riesgos de seguridad.

Supongamos que solo quiere autorizar a organizaciones específicas de la instancia empresarial para que implementen código en el entorno de producción. Podría crear un grupo que contenga todos los ejecutores que implementan código en producción a nivel de empresa y restringir al grupo el acceso a las organizaciones específicas autorizadas a implementar código.

Para crear grupos en el nivel de empresa, vaya a su cuenta empresarial y, a continuación, a Directivas > Acciones en la barra lateral. En la pestaña Grupos de ejecutores, seleccione Nuevo grupo de ejecutores. La pantalla que aparece le permitirá especificar un nombre de grupo y una directiva de acceso para las organizaciones.

Captura de la pantalla

Para crear grupos en el nivel de organización, vaya a la Configuración de la organización y, luego, a Acciones en la barra lateral. Seleccione Grupos de ejecutores y, a continuación, Nuevo grupo de ejecutores. La pantalla que aparece le permite especificar un nombre de grupo y una directiva de acceso para los repositorios.

Captura de la pantalla

Cuando se crean nuevos ejecutores, se asignan automáticamente al grupo predeterminado dentro de la empresa u organización. Los ejecutores solo pueden estar en un grupo a la vez, pero tanto Enterprise Cloud como Enterprise Server le dan la posibilidad de mover ejecutores del grupo predeterminado a otro.

Configuración de ejecutores autohospedados para uso empresarial

Enterprise Cloud y Enterprise Server ofrecen varias características que le permiten personalizar los ejecutores autohospedados para uso empresarial. Algunas de estas características incluyen etiquetas, servidores proxy y listas de direcciones IP permitidas.

Etiquetas

Los ejecutores autohospedados reciben automáticamente etiquetas predeterminadas cuando se agregan a Acciones de GitHub. Estas etiquetas predeterminadas indican el sistema operativo y la arquitectura de hardware del ejecutor, como se muestra en la tabla:

Etiqueta predeterminada Descripción
self-hosted Etiqueta predeterminada que se aplica a todos los ejecutores autohospedados
linux, windowso macOS Se aplica en función del sistema operativo del ejecutor.
x64, ARM o ARM64 Se aplica en función de la arquitectura de hardware del ejecutor.

Además de estas etiquetas predeterminadas, Enterprise Cloud y Enterprise Server permiten crear y agregar etiquetas personalizadas a los ejecutores. Las etiquetas personalizadas resultan útiles cuando necesita ejecutar trabajos en ejecutores con funcionalidades específicas. Por ejemplo, si un trabajo de uno de los flujos de trabajo requiere un tipo específico de hardware para gráficos, podría crear una etiqueta personalizada gpu y asignarla a los ejecutores que tienen instalado el hardware. Todos los ejecutores con la etiqueta gpu serían aptos para ejecutar el trabajo.

Para agregar una etiqueta a un ejecutor autohospedado, vaya a la configuración de Acciones de GitHub de la organización, repositorio o empresa donde está registrado el ejecutor autohospedado (en Acciones para una organización o repositorio, en Directivas > Acciones para una empresa). Cuando esté ahí:

  1. Busque la lista de ejecutores en Ejecutores. Si el ejecutor está en un grupo, busque el grupo de ejecutores y seleccione la lista desplegable del ejecutor para ver la lista de ejecutores.

    Captura de pantalla de un grupo de ejecutores de ejemplo con la lista desplegable resaltada.

  2. Busque el ejecutor que quiera actualizar y seleccione la lista desplegable de etiquetas para ver el menú de selección de etiquetas. En este menú se muestran todas las etiquetas personalizadas disponibles para el ejecutor autohospedado. Las etiquetas ya asignadas al ejecutor autohospedado aparecen marcadas.

    Captura de pantalla de un ejecutor de ejemplo con el menú de etiquetas mostrado.

  3. Haga clic en una etiqueta existente para agregarla al ejecutor o escriba el nombre de la nueva etiqueta en el campo Filtrar etiquetas y seleccione Crear nueva etiqueta. La etiqueta se agrega automáticamente al ejecutor al crearla.

Servidores proxy

Si necesita un ejecutor autohospedado para comunicarse con GitHub a través de un servidor proxy, tanto Enterprise Cloud como Enterprise Server le permiten cambiar las configuraciones de proxy mediante las siguientes variables de entorno:

Variable del entorno Descripción
https_proxy Dirección URL del proxy para el tráfico HTTPS. También puede incluir credenciales de autenticación básicas, si es necesario. Por ejemplo:
http://proxy.local
http://192.168.1.1:8080
http://username:password@proxy.local
http_proxy Dirección URL del proxy para el tráfico HTTPS. También puede incluir credenciales de autenticación básicas, si es necesario. Por ejemplo:
http://proxy.local
http://192.168.1.1:8080
http://username:password@proxy.local
no_proxy Lista separada por comas de hosts que no deben usar un proxy. Solo se permiten nombres de host en no_proxy. No se pueden usar direcciones IP. Por ejemplo:
example.com
example.com,myserver.local:443,example.org

Nota:

Las variables de entorno de proxy se leen cuando se inicia la aplicación de ejecutor autohospedado, por lo que debe establecer las variables de entorno antes de configurar o iniciar la aplicación. Si cambia la configuración del proxy, debe reiniciar la aplicación del ejecutor autohospedado.

En Windows, los nombres de las variables de entorno de proxy no distinguen mayúsculas de minúsculas. En Linux y macOS, se recomienda usar las variables de entorno en minúsculas. Si tiene una variable de entorno en minúsculas y mayúsculas en Linux o macOS (por ejemplo, https_proxy y HTTPS_PROXY), la aplicación del ejecutor autohospedado usa la variable de entorno en minúsculas.

Lista de direcciones IP permitidas

Si la organización de Enterprise Cloud o Enterprise Server ha configurado listas de direcciones IP permitidas, debe agregar la dirección IP o el intervalo de direcciones IP de los ejecutores autohospedados a la lista de direcciones IP permitidas para que los ejecutores autohospedados se comuniquen con GitHub.

Para agregar la dirección IP o el intervalo de direcciones IP de los ejecutores autohospedados a una lista de direcciones IP permitidas de la organización, vaya a la Configuración de la organización y seleccione Seguridad de la organización en la barra lateral. En Dirección IP, agregue la dirección IP o el intervalo de direcciones IP de los ejecutores autohospedados en la notación CIDR y seleccione + Agregar.

Supervisión y solución de problemas de ejecutores autohospedados

Tanto Enterprise Cloud como Enterprise Server ofrecen herramientas que le permiten supervisar, solucionar problemas y actualizar los ejecutores autohospedados. Si las compilaciones empiezan a devolver errores, algunos archivos del repositorio se bloquean o las ejecuciones de flujo de trabajo se bloquean, la solución de problemas del ejecutor que ejecuta el flujo de trabajo puede ayudar a resolver el problema.

Los pasos principales que puede seguir al solucionar problemas de un ejecutor autohospedado son:

  1. Compruebe el estado del ejecutor en la configuración de Acciones de GitHub de la organización, repositorio o empresa donde está registrado el ejecutor autohospedado (en Acciones para una organización o repositorio, en Directivas > Acciones para una empresa).
  2. Revise las actividades y las actualizaciones automáticas del ejecutor en los archivos Runner_ de la carpeta _diag.
  3. Revise el estado de los trabajos que ejecutó el ejecutor en los archivos Worker_ de la carpeta _diag.

Según el sistema operativo del ejecutor, puede realizar pasos adicionales como se muestra en la tabla:

Mac Windows Linux
Comprobación del servicio de la aplicación del ejecutor autohospedado mediante launchd Comprobación del servicio de la aplicación del ejecutor autohospedado mediante PowerShell - Comprobación del servicio de la aplicación del ejecutor autohospedado mediante journalctl
- Si los trabajos requieren contenedores, compruebe que Docker está instalado y en ejecución y los permisos de Docker mediante systemctl