Información general sobre ejecutor más grande
Además de los ejecutores estándar de GitHubhospedados, GitHub también ofrece a los clientes de GitHub Team y GitHub Enterprise Cloud planea un intervalo de ejecutor más grande con más RAM y CPU. Estos ejecutores están hospedados por GitHub y tienen preinstalada la aplicación ejecutor y otras herramientas.
Si se habilitan los ejecutor más grandees en la organización, se crea automáticamente un grupo de ejecutores predeterminado con un conjunto de cuatro ejecutor más grandees configurados previamente.
Al agregar un ejecutor más grandes a una organización, vas a definir un tipo de máquina a partir de una selección de especificaciones de hardware disponibles e imágenes de sistema operativo. GitHub creará varias instancias de este ejecutor que se escalan y reducen verticalmente para que coincidan con las demandas de trabajo de la organización, en función de los límites de escalado automático que definas.
Especificaciones de equipo de los ejecutor más grandees
Tamaño (vCPU) | Memoria (RAM) | Almacenamiento (SSD) |
---|---|---|
4 núcleos | 16 GB | 150 GB |
8 núcleos | 32 GB | 300 GB |
16 núcleos | 64 GB | 600 GB |
32 núcleos | 128 GB | 1200 GB |
64 núcleos | 256 GB | 2040 GB |
Características adicionales para ejecutor más grandes
En comparación con los datos hospedados GitHub, ejecutor más grandes tienen las siguientes características adicionales:
- En el caso de los ejecutores de Ubuntu, se habilita la aceleración de hardware para las herramientas de Android SDK. Esto hace que las pruebas de Android se ejecuten mucho más rápido y consuman menos minutos. Para obtener más información sobre la aceleración de hardware de Android, consulte la documentación para desarrolladores de Android.
Para obtener una lista completa de las herramientas incluidas para cada sistema operativo del ejecutor, consulte el repositorio GitHub Actions Imágenes de ejecutor.
Información general sobre ejecutor más grande
Los ejecutor más grande se administran en el nivel de organización, donde se organizan en grupos que pueden contener hasta varias instancias del ejecutor. También se pueden crear en el nivel empresarial y compartirse con organizaciones en la jerarquía. Una vez creado un grupo, puedes agregar un ejecutor al grupo y actualizar los flujos de trabajo para que tengan como destino el nombre del grupo o la etiqueta asignada a ejecutor más grande. También puedes controlar qué repositorios pueden enviar trabajos al grupo para su procesamiento. Para obtener más información acerca de los grupos, consulte "Control del acceso a los ejecutores más grandes."
En el diagrama siguiente, se ha definido una clase de ejecutor hospedado denominado ubuntu-20.04-16core
con la configuración personalizada del hardware y del sistema operativo.
- Las instancias de este ejecutor se crean automáticamente y se agregan a un grupo denominado
grp-ubuntu-20.04-16core
. - A los ejecutores se les ha asignado la etiqueta
ubuntu-20.04-16core
. - Los trabajos de flujo de trabajo usan la etiqueta
ubuntu-20.04-16core
en su claveruns-on
para indicar el tipo de ejecutor que necesitan para ejecutar el trabajo. - GitHub Actions comprueba el grupo de ejecutores para ver si el repositorio está autorizado para enviar trabajos al ejecutor.
- El trabajo se ejecuta en la siguiente instancia disponible del ejecutor
ubuntu-20.04-16core
.
Escalado automático de ejecutor más grande
Tus ejecutor más grande se pueden configurar para escalar automáticamente según sus necesidades. Cuando se envían trabajos para su procesamiento, se pueden aprovisionar automáticamente más máquinas para ejecutar los trabajos hasta alcanzar un límite máximo predefinido. Cada máquina solo controla un trabajo cada vez, por lo que esta configuración determina eficazmente el número de trabajos que se pueden ejecutar simultáneamente.
Durante el proceso de implementación del ejecutor, puedes configurar la opción Max, que te permite controlar los costos estableciendo el número máximo paralelo de máquinas que se crean en este conjunto. Un valor más alto aquí puede ayudar a evitar que los flujos de trabajo se bloqueen debido al paralelismo.
Anidación de ejecutor más grande
De forma predeterminada, ejecutor más grande reciben una dirección IP dinámica que cambia para cada ejecución de trabajo. Opcionalmente, los clientes de GitHub Enterprise Cloud pueden configurar sus ejecutor más grande para recibir una dirección IP estática del grupo de direcciones de GitHub. Cuando se habilita, las instancias de ejecutor más grande recibirán una dirección de un intervalo único para el ejecutor, lo que le permite usar este intervalo para configurar una lista de permitidos de firewall. Puedes usar hasta 10 intervalos de direcciones IP estáticas con los ejecutor más grandees creados en el nivel de empresa. Además, puedes usar hasta 10 intervalos de direcciones IP estáticas con los ejecutor más grandees creados en el nivel de organización por cada organización de tu empresa.
Nota: Si los ejecutores no se usan durante más de 30 días, sus intervalos de direcciones IP se quitan automáticamente y no se pueden recuperar.
Planificación de ejecutor más grande
Creación de un grupo de ejecutores
Los grupos de ejecutores se usan para recopilar conjuntos de máquinas virtuales y crear un límite de seguridad alrededor de ellas. Después, puedes decidir qué organizaciones o repositorios pueden ejecutar trabajos en esos conjuntos de máquinas. Durante el proceso de implementación de ejecutor más grande, el ejecutor se puede agregar a un grupo existente o, de lo contrario, se unirá a un grupo predeterminado. Puede crear un grupo siguiendo los pasos descritos en "Control del acceso a los ejecutores más grandes".
Descripción de la facturación
Nota: Los ejecutor más grandees no usan los minutos de derechos incluidos, y no son gratuitos para repositorios públicos.
En comparación con los datos estándar los ejecutores hospedados en GitHub y ejecutor más grande se facturan de forma diferente. Para obtener más información, consulta "Acerca de la facturación para las Acciones de GitHub".
Agregar un ejecutor más grande a una empresa
Puedes agregar ejecutor más grande a una empresa, en donde pueden asignarse a organizaciones múltiples. Los administradores de la organización podrán controlar entonces qué repositorios pueden utilizarlo. Para agregar un ejecutor más grande a una empresa, debes ser el propietario de la misma.
Puedes elegir un sistema operativo y una configuración de hardware en la lista de opciones disponibles. Cuando se implementan nuevas instancias de este ejecutor mediante el escalado automático, usarán el mismo sistema operativo y la misma configuración de hardware que has definido aquí.
Los nuevos ejecutores se asignan automáticamente al grupo predeterminado o puedes elegir qué grupo deben unirse los ejecutores durante el proceso de creación del ejecutor. Además, puedes modificar los miembros del grupo del ejecutor después de que lo hayas registrado. Para obtener más información, vea «Control del acceso a los ejecutores más grandes».
-
En la esquina superior derecha de GitHub.com, haga clic en la imagen de perfil y después en Your enterprises.
-
En la lista de empresas, da clic en aquella que quieras ver.
-
En la barra lateral de la cuenta de empresa, haz clic en Directivas. 1. En " Directivas", haz clic en Acciones. 1. Haz clic en la pestaña Ejecutores. 1. Haz clic en Nuevo ejecutor y, después, en Nuevo ejecutor hospedado en GitHub .
-
Completa los detalles necesarios para configurar el nuevo ejecutor:
- Nombre: escribe un nombre para el nuevo ejecutor. Para facilitar la identificación, esto debe indicar su configuración de hardware y funcionamiento, como
ubuntu-20.04-16core
. - Imagen del ejecutor: elije un sistema operativo de las opciones disponibles. Una vez que hayas seleccionado un sistema operativo, podrás elegir una versión específica.
- Tamaño del ejecutor: elije una configuración de hardware en la lista desplegable de opciones disponibles.
- Escalado automático: elije el número máximo de ejecutores que pueden estar activos en cualquier momento.
- Grupo de ejecutores: elije el grupo del que serás miembro el ejecutor. Este grupo hospedará varias instancias del ejecutor, ya que se escalan y reducen verticalmente para satisfacer la demanda.
- Redes: solo para GitHub Enterprise Cloud: elije si se asignará un intervalo de direcciones IP estáticas a instancias de ejecutor más grande. Puedes usar hasta 10 direcciones IP estáticas en total.
- Nombre: escribe un nombre para el nuevo ejecutor. Para facilitar la identificación, esto debe indicar su configuración de hardware y funcionamiento, como
-
Haz clic en Crear ejecutor.
-
Para permitir que las organizaciones accedan a ejecutor más grande, especifica la lista de organizaciones que pueden usarla. Para más información, consulta "Administración del acceso a los ejecutores".
Agregar un ejecutor más grande a una empresa
Puedes agregar un ejecutor más grande a una organización, donde los administradores de la organización pueden controlar qué repositorios pueden usarlos.
Puedes elegir un sistema operativo y una configuración de hardware en la lista de opciones disponibles. Cuando se implementan nuevas instancias de este ejecutor mediante el escalado automático, usarán el mismo sistema operativo y la misma configuración de hardware que has definido aquí.
Los nuevos ejecutores se asignan automáticamente al grupo predeterminado o puedes elegir qué grupo deben unirse los ejecutores durante el proceso de creación del ejecutor. Además, puedes modificar los miembros del grupo del ejecutor después de que lo hayas registrado. Para obtener más información, vea «Control del acceso a los ejecutores más grandes».
-
En GitHub.com, ve a la página principal de la organización. 1. Debajo del nombre de la organización, haga clic en Settings.
1. En la barra lateral izquierda, haz clic en Acciones y, después, en Ejecutores. 1. Haz clic en Nuevo ejecutor y, después, en Nuevo ejecutor hospedado en GitHub . -
Completa los detalles necesarios para configurar el nuevo ejecutor:
- Nombre: escribe un nombre para el nuevo ejecutor. Para facilitar la identificación, esto debe indicar su configuración de hardware y funcionamiento, como
ubuntu-20.04-16core
. - Imagen del ejecutor: elije un sistema operativo de las opciones disponibles. Una vez que hayas seleccionado un sistema operativo, podrás elegir una versión específica.
- Tamaño del ejecutor: elije una configuración de hardware en la lista desplegable de opciones disponibles.
- Escalado automático: elije el número máximo de ejecutores que pueden estar activos en cualquier momento.
- Grupo de ejecutores: elije el grupo del que serás miembro el ejecutor. Este grupo hospedará varias instancias del ejecutor, ya que se escalan y reducen verticalmente para satisfacer la demanda.
- Redes: solo para GitHub Enterprise Cloud: elije si se asignará un intervalo de direcciones IP estáticas a instancias de ejecutor más grande. Puedes usar hasta 10 direcciones IP estáticas en total.
- Nombre: escribe un nombre para el nuevo ejecutor. Para facilitar la identificación, esto debe indicar su configuración de hardware y funcionamiento, como
-
Haz clic en Crear ejecutor.
-
Para permitir que los repositorios accedan a ejecutor más grande, agrégalos a la lista de repositorios que pueden usarlos. Para más información, consulta "Administración del acceso a los ejecutores".
Ejecutar trabajos en tu ejecutor
Una vez definido el tipo de ejecutor, puedes actualizar los archivos YAML del flujo de trabajo para enviar trabajos a las instancias de ejecutor recién creadas para su procesamiento. Puedes usar grupos de ejecutores o etiquetas para definir dónde se ejecutan los trabajos.
Nota: Al agregar un ejecutor más grande, se le asignan automáticamente etiquetas predeterminadas que corresponden al nombre del ejecutor y a su sistema operativo. No puede agregar etiquetas personalizadas a ejecutor más grandes, pero puede usar las etiquetas predeterminadas o el grupo del ejecutor para enviar trabajos a tipos específicos de ejecutores.
Solo las cuentas de propietario o administrador pueden ver la configuración del ejecutor. Los usuarios no administrativos pueden ponerse en contacto con el administrador de la organización para averiguar qué ejecutores están habilitados. El administrador de la organización puede crear ejecutores y grupos de ejecutores, así como configurar permisos para especificar los repositorios que pueden acceder a un grupo de ejecutores.
Uso de grupos para controlar dónde se ejecutan los trabajos
En este ejemplo, se han agregado ejecutores de Ubuntu a un grupo denominado ubuntu-runners
. La clave runs-on
envía el trabajo a cualquier ejecutor disponible del grupo ubuntu-runners
:
name: learn-github-actions
on: [push]
jobs:
check-bats-version:
runs-on:
group: ubuntu-runners
steps:
- uses: actions/checkout@v3
- uses: actions/setup-node@v3
with:
node-version: '14'
- run: npm install -g bats
- run: bats -v
Uso de etiquetas para controlar dónde se ejecutan los trabajos
En este ejemplo, un grupo de ejecutores se rellena con ejecutores de Ubuntu de 16 núcleos, a los que se les asignó la etiqueta ubuntu-20.04-16core
. La clave runs-on
envía el trabajo a cualquier ejecutor disponible con una etiqueta coincidente:
name: learn-github-actions
on: [push]
jobs:
check-bats-version:
runs-on:
labels: ubuntu-20.04-16core
steps:
- uses: actions/checkout@v3
- uses: actions/setup-node@v3
with:
node-version: '14'
- run: npm install -g bats
- run: bats -v
Uso de etiquetas y grupos para controlar dónde se ejecutan los trabajos
Al combinar grupos y etiquetas, el ejecutor debe cumplir ambos requisitos para poder ejecutar el trabajo.
En este ejemplo, un grupo de ejecutores denominado ubuntu-runners
se rellena con ejecutores de Ubuntu, a los que también se ha asignado la etiqueta ubuntu-20.04-16core
. La clave runs-on
combina group
y labels
para que el trabajo se enrute a cualquier ejecutor disponible dentro del grupo que también tenga una etiqueta coincidente:
name: learn-github-actions
on: [push]
jobs:
check-bats-version:
runs-on:
group: ubuntu-runners
labels: ubuntu-20.04-16core
steps:
- uses: actions/checkout@v3
- uses: actions/setup-node@v3
with:
node-version: '14'
- run: npm install -g bats
- run: bats -v
Uso de nombres únicos para grupos de ejecutores
GitHub Actions requiere que los nombres del grupo de ejecutores sean únicos a nivel de organización. Esto significa que una organización ya no podrá crear un grupo de ejecutores con el mismo nombre que uno de la empresa. Además, los usuarios verán un banner de advertencia en cualquier grupo de ejecutores que comparta el mismo nombre que un grupo de la empresa, que sugiere que se debe cambiar el nombre del grupo de la organización.
Para evitar ambigüedad, se producirá un error en un flujo de trabajo si hay grupos de ejecutores duplicados en la organización y en la empresa. Para solucionarlo, puedes cambiar el nombre de uno de los grupos de ejecutores de la organización o de la empresa, o bien actualizar el archivo de flujo de trabajo para agregar un prefijo al nombre del grupo de ejecutores:
org/
oorganization/
ent/
oenterprise/
Ejemplo: Uso de prefijos para diferenciar grupos de ejecutores
Por ejemplo, si tienes un grupo de ejecutores denominado my-group
en la organización y otro denominado my-group
en la empresa, puedes actualizar el archivo de flujo de trabajo para usar org/my-group
o ent/my-group
para diferenciar entre los dos.
Usar org/
:
runs-on:
group: org/my-group
labels: [ self-hosted, label-1 ]
Usar ent/
:
runs-on:
group: ent/my-group
labels: [ self-hosted, label-1 ]
Administrar el acceso a tus ejecutores
Nota: Para que los flujos de trabajo puedan enviar trabajos a ejecutor más grande, primero debes configurar los permisos para el grupo de ejecutores. Consulta las siguientes secciones para obtener más información.
Los grupos de ejecutores se usan para controlar qué repositorios pueden ejecutar trabajos en los ejecutor más grande. Debes conceder acceso al grupo desde cada nivel de la jerarquía de administración, en función de dónde hayas definido los ejecutor más grande:
- Ejecutores en el nivel empresarial: configura el grupo de ejecutores para conceder acceso a todas las organizaciones necesarias. Además, para cada organización, debes configurar el grupo para especificar a qué repositorios se permite el acceso.
- Ejecutores en el nivel de la organización: configura el grupo de ejecutores especificando a qué repositorios se permite el acceso.
Por ejemplo, el diagrama siguiente tiene un grupo de ejecutor denominado grp-ubuntu-20.04-16core
en el nivel empresarial. Para que el repositorio denominado octo-repo
pueda usar los ejecutores del grupo, primero debes configurar el grupo en el nivel empresarial para permitir el acceso desde la organización octo-org
. Después, debes configurar el grupo en el nivel de la organización para permitir el acceso desde octo-repo
.
Permitir que los repositorios accedan a un grupo de ejecutores
En este procedimiento se muestra cómo configurar permisos de grupo en los niveles de empresa y organización:
-
Navega a donde se ubiquen tus grupos de ejecutores:
-
En una organización: vaya a la página principal y haga clic en Configuración.
-
Si usa un grupo de nivel de empresa:
-
En la esquina superior derecha de GitHub.com, haga clic en la imagen de perfil y después en Your enterprises.
-
En la lista de empresas, da clic en aquella que quieras ver.
-
-
-
Navega a los ajustes de los "Grupos de ejecutores":
-
En una organización:
- En la barra lateral izquierda, haz clic en Acciones y, luego, haz clic en Grupos de ejecutores.
-
Si usa un grupo de nivel de empresa:
- En la barra lateral de la cuenta de empresa, haz clic en Directivas. 1. En " Directivas", haz clic en Acciones. 1. Haga clic en la pestaña Runner groups. 1. En la lista de grupos, haz clic en el grupo de ejecutores que te gustaría configurar.
-
- En el caso de los grupos de ejecutores de una empresa, en Acceso a la organización, modifica las organizaciones que pueden acceder al grupo de ejecutores.
- En el caso de los grupos de ejecutores de una organización, en Acceso al repositorio, modifica los repositorios que pueden acceder al grupo de ejecutores.
Advertencia:
Si usas un intervalo IP fijo, te recomendamos que solo uses ejecutor más grande con repositorios privados. Las bifurcaciones de tu repositorio pueden ejecutar código potencialmente peligroso en tu ejecutor más grande creando una solicitud de extracción que ejecute el código en un flujo de trabajo.
Para obtener más información, vea «Control del acceso a los ejecutores más grandes».