Acerca de los ejecutores autohospedados para GitHub Actions
GitHub Actions permite a los usuarios de su empresa mejorar la productividad automatizando cada fase del flujo de trabajo de desarrollo de software. Para obtener más información, consulte Acerca de Acciones de GitHub para empresas.
Con GitHub Actions, los desarrolladores pueden escribir y combinar tareas individuales llamadas acciones para crear flujos de trabajo personalizados.
Puede hospedar su propia máquina de ejecutor para ejecutar trabajos y esta máquina se denomina ejecutores autohospedados. La máquina de tu ejecutor se conecta a GitHub utilizando la aplicación para ejecutores autohospedados de GitHub Actions. Todos los pueden ejecutar Linux, Windows o macOS. Para más información, consulta Ejecutores autohospedados.
Como alternativa, puede usar máquinas de ejecutor que GitHub hospedan. GitHubLos ejecutores hospedados están fuera del ámbito de esta guía. Para más información, consulta Ejecutores hospedados en GitHub.
En esta guía se muestra cómo aplicar un enfoque de administración centralizado a los ejecutores autohospedados para GitHub Actions en su empresa. En la guía, completarás las tareas siguientes.
- Configurar una directiva limitada para restringir las acciones y los flujos de trabajo reutilizables que se pueden ejecutar dentro de la empresa
- Implementar un ejecutor autohospedado para la empresa
- Crear un grupo para administrar el acceso a los ejecutores que están disponibles para la empresa
- De manera opcional, restringir aún más los repositorios que pueden utilizar el ejecutor
- Opcionalmente, para compilar y escalar ejecutores autohospedados automáticamente, use Actions Runner Controller (ARC). Para más información, consulta Controlador del ejecutor de acciones.
También encontrará información adicional sobre cómo supervisar y proteger los ejecutores autohospedados, cómo personalizar el software en las máquinas ejecutores.
Después de finalizar la guía, los miembros de los usuarios empresariales trabajo desde GitHub Actions en una máquina de ejecutores autohospedada.
Requisitos previos
-
Debe tener acceso a la máquina que usará como ejecutor autohospedado en su entorno.
-
La empresa debe ser propietaria de al menos una organización. Para más información, consulta Acerca de las organizaciones y Crear una organización nueva desde cero.
1. Configurar directivas para GitHub Actions
En primer lugar, habilite GitHub Actions para todas las organizaciones y configure una directiva para restringir las acciones y los flujos de trabajo reutilizables que se pueden ejecutar dentro de la empresa. De manera opcional, los propietarios de las organizaciones pueden restringir aún más estas directivas para cada organización.
- Vaya a su empresa. Por ejemplo, desde la página Empresas en GitHub.com.
- En la parte superior de la página, haga clic en Directivas.
- En " Policies", haz clic en Actions.
- En "Directivas", selecciona Habilitar para todas las organizaciones.
- Para habilitar las acciones locales y los flujos de trabajo reutilizables, y las acciones creadas por GitHub, seleccione Permitir la empresa y seleccionar acciones no empresariales y flujos de trabajo reutilizablesy, a continuación, seleccione Permitir acciones creadas por GitHub.
- Haz clic en Guardar.
Puede configurar directivas adicionales para restringir las acciones disponibles para los usuarios de miembros. Para más información, consulta Aplicación de directivas para Acciones de GitHub en la empresa.
2. Implementa el ejecutor autohospedado para tu empresa
A continuación, agrega un ejecutor autohospedado a la empresa. GitHub le guiará a través de la instalación del software necesario en la máquina del ejecutor. Después de implementar el ejecutor, puede comprobar la conectividad entre la máquina del ejecutor y la empresaGitHub.com.
Incorporación de un ejecutor autohospedado
-
Vaya a su empresa. Por ejemplo, desde la página Empresas en GitHub.com.
-
En la parte superior de la página, haga clic en Directivas.
-
En " Policies", haz clic en Actions.
-
Haz clic en la pestaña Ejecutores.
-
Haz clic en Nuevo ejecutor y, a continuación, en Nuevo ejecutor autohospedado. 1. Selecciona la imagen del sistema operativo y la arquitectura de la máquina de tu ejecutor autoalojado.

-
Verás instrucciones que te mostrarán cómo descargar la aplicación de ejecutor e instalarla en la máquina de tu ejecutor autohospedado.
Abre un shell en tu máquina de ejecutor autoalojado y ejecuta cada comando del shell en el orden que se muestra.
Nota:
En Windows, si quieres instalar la aplicación de ejecutor auto-hospedado como un servicio, tendrás que abrir un shell con privilegios de administrador. También recomendamos que use
C:\actions-runnercomo directorio de la aplicación del ejecutor autohospedado para que las cuentas del sistema de Windows puedan acceder al directorio del ejecutor.Las instrucciones te guían para completar estas tareas:
- Descarga y extracción de la aplicación del ejecutor autohospedado.
- Ejecutar el
configscript para configurar la aplicación del ejecutor autohospedado y registrarla con GitHub Actions. El scriptconfignecesita la URL de destino y un token generado automáticamente de duración limitada para autenticar la solicitud. El token caduca después de una hora.- En Windows, el script
configtambién le pregunta si quiere instalar la aplicación de ejecutor autohospedado como un servicio. Para Linux y macOS, puedes instalar un servicio después de que termines de agregar el ejecutor. Para más información, consulta Configurar la aplicación del ejecutor autoalojado como un servicio.
- En Windows, el script
- Ejecutar la aplicación del ejecutor autohospedado para conectar la máquina a GitHub Actions.
Revisar que tu ejecutor auto-hospedado se haya agregado exitosamente
Después de completar estos pasos para agregar un ejecutor autohospedado, este ejecutor y su estado ahora se muestran en "Ejecutores".
La aplicación del ejecutor autoalojado debe estar activa para que el ejecutor acepte trabajos. Cuando la aplicación del ejecutor esté conectada a GitHub y esté lista para recibir trabajos, verás el siguiente mensaje en el terminal de la máquina.
√ Connected to GitHub
2019-10-24 05:45:56Z: Listening for Jobs
3. Administra el acceso al ejecutor autohospedado mediante un grupo
Puedes crear un grupo de ejecutores para administrar el acceso al ejecutor que agregaste a la empresa. Usará el grupo para elegir qué organizaciones pueden ejecutar trabajos en GitHub Actions el ejecutor.
GitHub agrega todos los nuevos ejecutores a un grupo. Los ejecutores solo pueden estar en un grupo a la vez. De forma predeterminada, GitHub agrega nuevos ejecutores al grupo "Predeterminado".
-
Vaya a su empresa. Por ejemplo, desde la página Empresas en GitHub.com.
-
En la parte superior de la página, haga clic en Directivas.
-
En " Policies", haz clic en Actions.
-
Haga clic en la pestaña Runner groups.
-
Haga clic en New runner group.
-
En "Group name", escriba un nombre para el grupo de ejecutores.
-
Si deseas elegir una directiva para el acceso de la organización, en "Acceso de organización", selecciona el menú desplegable Acceso de organización y haz clic en Organizaciones seleccionadas.
-
A la derecha de la lista desplegable con la directiva de acceso de la organización, haga clic en .
-
Selecciona las organizaciones a las que te gustaría conceder acceso al grupo de runners.
-
De manera opcional, para permitir repositorios públicos en las organizaciones seleccionadas para usar ejecutores en el grupo, selecciona Permitir repositorios públicos.
Advertencia
Te recomendamos que solo utilices los ejecutores auto-hospedados con los repositorios privados. Esto se debe a que las bifurcaciones de tu repositorio público podrían ejecutar un código peligroso en tu máquina de ejecutor auto-hospedado al crear una solicitud de cambios que excluya el código en un flujo de trabajo.
Para más información, consulta Referencia de uso seguro.
-
Haz clic en Crear grupo para crear el grupo y aplicar la política.
-
Haz clic en la pestaña "Ejecutores".
-
En la lista de ejecutores, haz clic en el ejecutor que implementaste en la sección anterior.
-
Haga clic en Editar.
-
Haga clic en Grupos de ejecutores .
-
En la lista de grupos de corredores, haz clic en el nombre del grupo que creaste anteriormente.
-
Haz clic en Guardar para mover el ejecutor al grupo.
Ahora ha implementado un ejecutor autohospedado que puede ejecutar trabajos desde GitHub Actions las organizaciones que especificó.
4. Restringe aún más el acceso al ejecutor autohospedado
Opcionalmente, los propietarios de la organización y los usuarios con el permiso "Administrar ejecutores de la organización y grupos de ejecutores" pueden restringir aún más la directiva de acceso del grupo de ejecutores que creó. Por ejemplo, el propietario de una organización podría permitir que solo ciertos repositorios de la organización utilicen el grupo de ejecutores.
Para más información, consulta Administración del acceso a los ejecutores autohospedados mediante grupos.
Para obtener más información sobre los roles de organización personalizados, consulte Permisos de roles de organización personalizados.
5. Escala automáticamente los ejecutores autohospedados
Opcionalmente, puede usar Actions Runner Controller (ARC) para escalar automáticamente ejecutores autohospedados. Actions Runner Controller (ARC) es un operador de Kubernetes que organiza y escala los ejecutores autohospedados para GitHub Actions. Para obtener más información, consulta Patrón de operador en la documentación de Kubernetes.
Con ARC, puedes crear conjuntos de escalado de ejecutor que se escalen automáticamente en función del número de flujos de trabajo que se ejecutan en el repositorio, la organización o la empresa. Dado que los ejecutores controlados pueden ser efímeros y estar basados en contenedores, las nuevas instancias de ejecutores se pueden escalar o reducir verticalmente de forma rápida y limpia. Para más información sobre el escalado automático, consulta Referencia de ejecutores autohospedados.
Pasos siguientes
-
Puedes supervisar ejecutores autohospedados y solucionar problemas comunes. Para más información, consulta Supervisión y solución de problemas de ejecutores autohospedados.
-
GitHub recomienda revisar las consideraciones de seguridad de las máquinas del ejecutor autohospedado. Para más información, consulta Referencia de uso seguro.
-
Si usa GitHub Enterprise Server, puede sincronizar manualmente los repositorios en GitHub.com los que contiene acciones para su empresa en GitHub Enterprise Server. Como alternativa, puede permitir que los miembros de la empresa accedan automáticamente a las acciones desde GitHub.com mediante GitHub Connect. Para obtener más información, vea lo siguiente.
- Sincronización manual de acciones desde GitHub.com en la GitHub Enterprise Server documentación
- Habilitación del acceso automático a acciones de GitHub.com mediante GitHub Connect en la GitHub Enterprise Server documentación
-
Puede personalizar el software disponible en las máquinas del ejecutor autohospedado o configurar los ejecutores para ejecutar software similar al GitHubde los. El software que impulsa las máquinas de ejecutor para GitHub Actions es código abierto. Para más información, consulta los repositorios
actions/runneryactions/runner-images.