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.
-
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 etiquetaslinux
,x64
ygpu
: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, "${{ github.event.inputs.chosen-os }}"] steps: - run: echo Hello world!
- Si quiere ejecutar el flujo de trabajo en varias máquinas, use
jobs.<job_id>.strategy
.
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».