Skip to main content

Esta versión de GitHub Enterprise Server se discontinuará el 2023-12-20. No se realizarán lanzamientos de patch, ni siquiera para problemas de seguridad críticos. Para obtener rendimiento mejorado, seguridad mejorada y nuevas características, actualice a la versión más reciente de GitHub Enterprise Server. Para obtener ayuda con la actualización, póngase en contacto con el soporte técnico de GitHub Enterprise.

Elegir un ejecutor para un job

Definir el tipo de máquina que procesará un job en tu flujo de trabajo.

Nota: Actualmente los ejecutores hospedados en GitHub no se admiten en GitHub Enterprise Server. Puede ver más información sobre la compatibilidad futura planeada en GitHub public roadmap.

Información general

Use jobs.<job_id>.runs-on para definir el tipo de máquina en la que se ejecutará el trabajo.

  • La máquina de destino puede ser un ejecutor autohospedado.

  • Puedes dirigirte a los ejecutores según las etiquetas que se les han asignado.

  • Puedes proporcionar runs-on como:

    • Una sola cadena.
    • Una sola variable que contiene una cadena.
    • Una matriz de cadenas, variables que contienen cadenas o una combinación de ambas.
    • un key: value par utilizando las claves group o label
  • Si especificas una matriz de cadenas o variables, el flujo de trabajo se ejecutará en cualquier ejecutor que coincida con todos los valores runs-on especificados. Por ejemplo, aquí el trabajo solo se ejecutará en un ejecutor autohospedado que tenga las etiquetas linux, x64 y gpu:

    runs-on: [self-hosted, linux, x64, gpu]
    

    Para más información, consulta "Selección de ejecutores autohospedados".

  • Puedes combinar cadenas y variables en una matriz. Por ejemplo:

    on:
      workflow_dispatch:
        inputs:
          chosen-os:
            required: true
            type: choice
            options:
            - Ubuntu
            - macOS
    
    jobs:
      test:
        runs-on: [self-hosted, "${{ inputs.chosen-os }}"]
        steps:
        - run: echo Hello world!
    
  • Si quiere ejecutar el flujo de trabajo en varias máquinas, use jobs.<job_id>.strategy.

Nota: Actualmente los ejecutores hospedados en GitHub no se admiten en GitHub Enterprise Server. Puede ver más información sobre la compatibilidad futura planeada en GitHub public roadmap.

Selección de ejecutores hospedados en GitHub

Si usas un ejecutor hospedado en GitHub, cada trabajo se ejecuta en una nueva instancia de una imagen de ejecutor especificada por runs-on.

Los tipos de ejecutores alojados GitHub disponibles son:

Máquina virtual Procesador (CPU) Memoria (RAM) Almacenamiento (SSD) Sistema operativo (etiqueta de flujo de trabajo YAML) Notas
Linux 2 7 GB 14 GB ubuntu-latest, ubuntu-22.04, ubuntu-20.04 La etiqueta ubuntu-latest usa actualmente la imagen del ejecutor de Ubuntu 22.04.
Windows 2 7 GB 14 GB windows-latest, windows-2022, windows-2019 La etiqueta windows-latest usa actualmente la imagen del ejecutor de Windows Server 2022.
macOS 3 14 GB 14 GB macos-latest, macos-12, macos-11 La etiqueta de flujo de trabajo macos-latest usa actualmente la imagen de ejecutor de macOS 12.
macOS 4 14 GB 14 GB macos-13 [Beta] N/D

Nota: Las imágenes de ejecutores -latest son las últimas imágenes estables que proporciona GitHub y puede que no sean las versiones más recientes de los sistemas operativos disponibles desde los proveedores de estos.

Advertencia: Las imágenes beta y en desuso se proporcionan "tal cual", "con todos sus fallos" y "conforme estén disponibles" y están excluidas del acuerdo de nivel de servicio y de la garantía. El soporte al cliente podría no cubrir las imágenes beta.

Ejemplo: Especificación de un sistema operativo

runs-on: ubuntu-latest

Para obtener más información, vea «Utilizar los ejecutores hospedados en GitHub».

Selección de ejecutores autohospedados

A fin de especificar un ejecutor autohospedado para el trabajo, configure runs-on en el archivo de flujo de trabajo con las etiquetas de ejecutor autohospedado.

Todos los ejecutores autohospedados tienen la etiqueta self-hosted. El utilizar únicamente esta etiqueta seleccionará cualquier ejecutor auto-hospedado. Para seleccionar los ejecutores que cumplen con determinados criterios, como el sistema operativo o la arquitectura, se recomienda proporcionar una serie de etiquetas que comience con self-hosted (debe estar en primer lugar) y que luego incluya etiquetas adicionales según sea necesario. Cuando especifiques un arreglo de etiquetas, los jobs se pondrán en cola cuando se trate de ejecutores que tengan todas las etiquetas que especificas.

Aunque la etiqueta self-hosted no es obligatoria, se recomienda encarecidamente especificarla cuando se usen ejecutores autohospedados, para garantizar que el trabajo no especifique un ejecutor hospedado en GitHub futuro o actual por accidente.

Ejemplo: Uso de etiquetas para la selección del ejecutor

runs-on: [self-hosted, linux]

Para obtener más información, vea «Acerca de los ejecutores autohospedados» y «Uso de ejecutores autohospedados en un flujo de trabajo».