Skip to main content

Esta versión de GitHub Enterprise Server se discontinuará el 2026-08-25. No se admiten versiones discontinuas. No se realizarán lanzamientos de patch, ni siquiera para problemas de seguridad críticos. Para mejorar el rendimiento, mejorar la seguridad y las nuevas características de GitHub Enterprise Server, consulte Información general del proceso de actualización. Para obtener ayuda con la actualización, GitHub Soporte técnico empresarial.

Utilizar tareas en un flujo de trabajo

Utilizar flujos de trabajo para ejecutar varias tareas.

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:

  1. job1
  2. job2
  3. job3

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.