Requisitos previos
Para implementar trabajos en los flujos de trabajo, debes comprender qué son los trabajos. Consulta Descripción de Acciones de GitHub.
Configurar un ID para un trabajo
Usa jobs.<job_id> para asignar un identificador único al trabajo. La clave job_id es una cadena y su valor es un mapa de los datos de configuración del trabajo. Debes reemplazar <job_id> por una cadena que sea única para el objeto jobs. <job_id> debe empezar con una letra o _, y solo puede contener caracteres alfanuméricos, - o _.
Ejemplo: Crear jobs
En este ejemplo, se han creado dos trabajos y sus valores job_id son my_first_job y my_second_job.
jobs:
my_first_job:
name: My first job
my_second_job:
name: My second job
Establecer el nombre de una tarea
Usa jobs.<job_id>.name a fin de establecer un nombre para el trabajo, que se muestra en la UI de GitHub.
Definir tareas de prerrequisito
Use jobs.<job_id>.needs para identificar los trabajos que se deben completar correctamente antes de que se ejecute este trabajo. Puede ser una cadena o matriz de cadenas. Si un trabajo falla o se omite, se omiten todos los trabajos que dependen de él, a menos que esos trabajos usen una expresión condicional que haga que el trabajo continúe. Si una ejecución contiene una serie de trabajos que dependen unos de otros, un fallo o una omisión afecta a todos los trabajos de la cadena de dependencias a partir del punto en que se produce dicho fallo o dicha omisión. Si deseas que un trabajo se ejecute incluso si el trabajo del que depende no se realizó correctamente, usa la expresión condicional always() en jobs.<job_id>.if.
Ejemplo: Exigir que los trabajos dependientes se completen correctamente
jobs:
job1:
job2:
needs: job1
job3:
needs: [job1, job2]
En este ejemplo, job1 se debe completar correctamente antes de que comience job2 y job3 espera a que se completen job1 y job2.
En este ejemplo, los trabajos se ejecutan de manera secuencial:
job1job2job3
Ejemplo: No requerir que los trabajos dependientes se completen correctamente
jobs:
job1:
job2:
needs: job1
job3:
if: ${{ always() }}
needs: [job1, job2]
En este ejemplo, job3 usa la expresión condicional always() para que siempre se ejecute después de que se hayan completado job1 y job2, independientemente de si se han realizado correctamente. Para más información, consulta Evaluación de expresiones en flujos de trabajo y acciones.
Uso de una matriz para ejecutar trabajos con variables diferentes
Para ejecutar automáticamente un trabajo con diferentes combinaciones de variables, como sistemas operativos o versiones de lenguaje, define una estrategia de matrix en el flujo de trabajo.
Para más información, consulta Ejecución de variaciones de trabajos en un flujo de trabajo.