Acerca de los ejecutores autohospedados para GitHub Actions
GitHub Actions permite los usuarios que usen tu instancia de GitHub Enterprise Server mejorar la productividad mediante la automatización de todas las fases del flujo de trabajo de desarrollo de software. Para obtener más información, consulte "Acerca de las GitHub Actions para las empresas".
Con GitHub Actions, los desarrolladores pueden escribir y combinar tareas individuales, denominadas acciones, para crear flujos de trabajo personalizados. Para habilitar GitHub Actions para tu instancia de GitHub Enterprise Server, debe hospedar por lo menos un equipo para ejecutar trabajos. Este equipo se denomina como un ejecutor auto-hospedado. Los ejecutores autohospedados pueden ser físicos, virtuales, en un contenedor, locales o en una nube. La máquina de tu ejecutor se conecta aGitHub Enterprise Server utilizando la aplicación para ejecutores auto-hospedados de GitHub Actions. auto-hospedados pueden ejecutar Linux, Windows o macOS. Para obtener más información, vea «Acerca de los ejecutores autohospedados».
En esta guía, se muestra cómo puedes aplicar un enfoque de administración centralizada a los ejecutores autohospedados para GitHub Actions en tu empresa. En la guía, completarás las tareas siguientes.
- Configurar una directiva limitada para restringir las acciones que se pueden ejecutar en tu 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 obtener más información, consulta "Acerca de Actions Runner Controller."
También encontrará información adicional sobre cómo supervisar y proteger los ejecutores autohospedados, cómo acceder a las acciones desde GitHub.com y cómo personalizar el software en las máquinas ejecutoras.
Cuando finalice la guía, los usuarios de tu instancia de GitHub Enterprise Server podrán ejecutar trabajos de flujo de trabajo desde GitHub Actions en un equipo ejecutor auto-hospedado.
Requisitos previos
-
Las GitHub Actions se deben habilitar para GitHub Enterprise Server. Un administrador de sitio puede habilitar y configurar GitHub Actions para la instancia. Para obtener más información, vea «Iniciar con GitHub Actions para GitHub Enterprise Server».
-
Debe tener acceso a la máquina que usará como ejecutor autohospedado en su entorno.
- La conexión entre los ejecutores autohospedados y GitHub Enterprise Server se realiza mediante HTTP (puerto 80) o HTTPS (puerto 443). Para garantizar la conectividad por HTTPS, configura TLS para tu instancia de GitHub Enterprise Server. Para más información, consulta "Configurar TLS".
- La empresa debe ser propietaria de al menos una organización. Para obtener más información, vea «Acerca de las organizaciones» y «Crear una organización nueva desde cero».
1. Configura directivas para GitHub Actions
En primer lugar, habilite GitHub Actions para todas las organizaciones y configure una directiva para restringir las acciones que se pueden ejecutar en tu instancia de GitHub Enterprise Server. De manera opcional, los propietarios de las organizaciones pueden restringir aún más estas directivas para cada organización.
-
En la esquina superior derecha de GitHub Enterprise Server, haz clic en la foto de perfil y luego en Configuración de empresa.
-
En el lado izquierdo de la página, en la barra lateral de la cuenta de empresa, haz clic en Directivas.
-
En " Policies," haz clic en Acciones.
-
En "Directivas", selecciona Habilitar para todas las organizaciones.
-
Para permitir las acciones locales, además de las acciones que crea GitHub, selecciona Permitir seleccionar acciones y, a continuación, selecciona Permitir acciones creadas por GitHub .
-
Haga clic en Save(Guardar).
Puede configurar directivas adicionales para restringir las acciones disponibles para usuarios de tu instancia de GitHub Enterprise Server. Para obtener más información, vea «Requerir políticas para las GitHub Actions en tu empresa».
2. Implementa el ejecutor autohospedado para tu empresa
A continuación, agrega un ejecutor autohospedado a la empresa. GitHub Enterprise Server te guiará a través de la instalación del software necesario en la máquina ejecutora. Después de implementar el ejecutor, puede comprobar la conectividad entre el equipo ejecutor y tu instancia de GitHub Enterprise Server.
Incorporación de un ejecutor autohospedado
-
En la esquina superior derecha de GitHub Enterprise Server, haz clic en la foto de perfil y luego en Configuración de empresa.
-
En el lado izquierdo de la página, en la barra lateral de la cuenta de empresa, haz clic en Directivas.
-
En " Policies," haz clic en Acciones.
-
Haz clic en la pestaña Ejecutores.
-
Haz clic en Nuevo ejecutor.
-
La imagen y arquitectura de tu sistema operativo para tu máquina del ejecutor auto-hospedado.
-
Verás instrucciones que te mostrarán cómo descargar la aplicación del ejecutor e instalarla en tu máquina de ejecutor autoalojado.
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 quiere instalar la aplicación de ejecutor autohospedado como un servicio, tendrá que abrir un shell con privilegios de administrador. También se recomienda usar
C:\actions-runner
como directorio para la aplicación del ejecuto autohospedado de modo que las cuentas del sistema de Windows puedan acceder al directorio del ejecutor.Las instrucciones te guían para completar estas tareas:
- Descargar y extraer la aplicación de ejecutor autoalojado.
- Ejecutar el script
config
para configurar la aplicación de ejecutor autohospedado y registrarla con GitHub Actions. El scriptconfig
necesita la URL de destino y un token generado automáticamente de duración limitada para autenticar la solicitud.- En Windows, el script
config
tambié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 obtener más información, vea «Configurar la aplicación del ejecutor autoalojado como un servicio».
- En Windows, el script
- Ejecutar la aplicación del ejecutor autoalojado para conectar la máquina a las 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 autohospedados".
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 Enterprise Server y esté lista para recibir trabajos, verá 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ás el grupo para elegir las organizaciones que pueden ejecutar trabajos desde GitHub Actions en el ejecutor.
GitHub Enterprise Server agrega todos los ejecutores nuevos a un grupo. Los ejecutores solo pueden estar en un grupo a la vez. De manera predeterminada, GitHub Enterprise Server agrega ejecutores nuevos al grupo "Predeterminado".
-
En la esquina superior derecha de GitHub Enterprise Server, haz clic en la foto de perfil y luego en Configuración de empresa.
-
En el lado izquierdo de la página, en la barra lateral de la cuenta de empresa, haz clic en Directivas.
-
En " Policies," haz clic en Acciones.
-
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 del menú desplegable con la directiva de acceso de la organización, haz clic en .
-
Selecciona las organizaciones a las que deseas conceder acceso al grupo de ejecutores.
-
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 obtener más información, vea «Acerca de los ejecutores autohospedados».
-
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.
-
Haz clic en Grupos de ejecutores .
-
En la lista de grupos de ejecutores, haz clic en el nombre del grupo que creaste anteriormente.
-
Haz clic en Guardar para mover el ejecutor al grupo.
Implementaste un ejecutor autohospedado que puede ejecutar trabajos desde GitHub Actions en las organizaciones que especificaste.
4. Restringe aún más el acceso al ejecutor autohospedado
Opcionalmente, los propietarios de la organización pueden restringir aún más la directiva de acceso del grupo de ejecutores que creaste. 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 obtener más información, vea «Administración del acceso a los ejecutores autohospedados mediante grupos».
5. Escala automáticamente los ejecutores autohospedados
Opcionalmente, puedes usar Actions Runner Controller (ARC) para y escalar ejecutores autohospedados automáticamente. 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 obtener más información sobre el escalado automático, consulta "Autoescalar con ejecutores auto-hospedados".
Pasos siguientes
-
Puedes supervisar ejecutores autohospedados y solucionar problemas comunes. Para obtener más información, vea «Supervisión y solución de problemas de ejecutores autohospedados».
-
GitHub te recomienda revisar las consideraciones de seguridad para las máquinas ejecutoras autohospedadas. Para obtener más información, vea «Fortalecimiento de seguridad para GitHub Actions».
-
Puede sincronizar manualmente los repositorios de GitHub.com que contengan acciones hacia su empresa en GitHub Enterprise Server. De manera alternativa, puedes permitir que los miembros de la empresa accedan automáticamente a acciones de GitHub.com mediante GitHub Connect. Para obtener más información, vea lo siguiente.
-
Puede personalizar el software disponible en las máquinas ejecutoras auto-hospedadas, o bien configurar los ejecutores para que ejecuten software similar a los ejecutores que hospeda GitHub disponibles para los clientes que utilizan GitHub.com. El software que impulsa las máquinas ejecutoras para GitHub Actions es de código abierto. Para más información, consulta los repositorios
actions/runner
yactions/runner-images
.