Skip to main content

Introducción a los ejecutores autohospedados para la empresa

Puedes configurar una máquina ejecutora para la empresa de modo que los desarrolladores puedan empezar a automatizar los flujos de trabajo con GitHub Actions.

¿Quién puede utilizar esta característica?

Enterprise owners and users with permissions can configure policies for GitHub Actions and add self-hosted runners to the enterprise.

Acerca de los ejecutores autohospedados para GitHub Actions

GitHub Actions permite a los miembros de la empresa 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. Puede hospedar su propio equipo ejecutor para ejecutar trabajos y 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 Cloud utilizando la aplicación para ejecutores auto-hospedados de GitHub Actions. Todos los ejecutores pueden ejecutar Linux, Windows o macOS. Para obtener más información, vea «Acerca de los ejecutores autohospedados».

También puedes usar máquinas ejecutoras que hospeda GitHub. En esta guía, no se abordan los ejecutores que hospeda GitHub. Para obtener más información, vea «Utilizar los ejecutores hospedados en GitHub».

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.

  1. Configurar una directiva limitada para restringir las acciones y los flujos de trabajo reutilizables que se pueden ejecutar en tu empresa
  2. Implementar un ejecutor autohospedado para la empresa
  3. Crear un grupo para administrar el acceso a los ejecutores que están disponibles para la empresa
  4. De manera opcional, restringir aún más los repositorios que pueden utilizar el ejecutor
  5. 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, y cómo personalizar el software en las máquinas ejecutoras.

Cuando finalice la guía, los miembros de la empresa podrán ejecutar trabajos de flujo de trabajo desde GitHub Actions en un equipo ejecutor auto-hospedado.

Requisitos previos

1. Configura 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 en GitHub Enterprise Cloud. De manera opcional, los propietarios de las organizaciones pueden restringir aún más estas directivas para cada organización.

  1. En la esquina superior derecha de GitHub.com, haga clic en la imagen de perfil y después en Your enterprises.

  2. En la lista de empresas, da clic en aquella que quieras ver.

  3. En la barra lateral de la cuenta de empresa, haz clic en Directivas.

  4. En " Policies," haz clic en Acciones.

  5. En "Directivas", selecciona Habilitar para todas las organizaciones.

  6. Para permitir las acciones locales y los flujos de trabajo reutilizables, , además de las acciones que crea GitHub, selecciona Permitir la empresa y seleccionar acciones no empresariales y flujos de trabajo reutilizables y, a continuación, selecciona Permitir acciones creadas por GitHub .

  7. Haga clic en Save(Guardar).

Puede configurar directivas adicionales para restringir las acciones disponibles para miembros de la empresa. 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 Cloud 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 la empresa.

Incorporación de un ejecutor autohospedado

  1. En la esquina superior derecha de GitHub.com, haga clic en la imagen de perfil y después en Your enterprises.

  2. En la lista de empresas, da clic en aquella que quieras ver.

  3. En la barra lateral de la cuenta de empresa, haz clic en Directivas.

  4. En " Policies," haz clic en Acciones.

  5. Haz clic en la pestaña Ejecutores.

  6. Haz clic en Nuevo ejecutor y, a continuación, en Nuevo ejecutor autohospedado.

  7. La imagen y arquitectura de tu sistema operativo para tu máquina del ejecutor auto-hospedado.

    Captura de pantalla en la que se elige el sistema operativo y la arquitectura. Estas opciones están resaltadas con un contorno naranja oscuro.

  8. 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 script config 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».
    • 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".

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 Cloud 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 Cloud agrega todos los ejecutores nuevos a un grupo. Los ejecutores solo pueden estar en un grupo a la vez. De manera predeterminada, GitHub Enterprise Cloud agrega ejecutores nuevos al grupo "Predeterminado".

  1. En la esquina superior derecha de GitHub.com, haga clic en la imagen de perfil y después en Your enterprises.

  2. En la lista de empresas, da clic en aquella que quieras ver.

  3. En la barra lateral de la cuenta de empresa, haz clic en Directivas.

  4. En " Policies," haz clic en Acciones.

  5. Haga clic en la pestaña Runner groups.

  6. Haga clic en New runner group.

  7. En "Group name", escriba un nombre para el grupo de ejecutores.

  8. 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.

  9. A la derecha del menú desplegable con la directiva de acceso de la organización, haz clic en .

  10. Selecciona las organizaciones a las que deseas conceder acceso al grupo de ejecutores.

  11. 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».

  12. Haz clic en Crear grupo para crear el grupo y aplicar la política.

  13. Haz clic en la pestaña "Ejecutores".

  14. En la lista de ejecutores, haz clic en el ejecutor que implementaste en la sección anterior.

  15. Haga clic en Editar.

  16. Haz clic en Grupos de ejecutores .

  17. En la lista de grupos de ejecutores, haz clic en el nombre del grupo que creaste anteriormente.

  18. 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 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 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».

Para obtener más información sobre los roles de organización personalizados, vea "Acerca de los roles personalizados de organización".

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

Información adicional