Skip to main content
Frecuentemente publicamos actualizaciones de nuestra documentación. Es posible que la traducción de esta página esté en curso. Para conocer la información más actual, visita la documentación en inglés. Si existe un problema con las traducciones en esta página, por favor infórmanos.
GitHub AE está actualmente en un lanzamiento limitado. Por favor, contacta a nuestro equipo de ventas para conocer más sobre esto.

Utilizar jobs en un flujo de trabajo

Utilizar flujos de trabajo para ejecutar varios jobs.

Resumen

Una ejecución de flujo de trabajo se conforma de uno o más jobs, los cuales se ejecutan en paralelo predeterminadamente. Para ejecutar trabajos de manera secuencial, puedes definir dependencias en otros trabajos utilizando la palabra clave jobs.<job_id>.needs.

Cada job se ejecuta en un ambiente ejecutor que especifica runs-on.

Puedes ejecutar una cantidad ilimitada de trabajos siempre que estés dentro de los límites de uso del flujo de trabajo. Para obtener más información, consulta las secciones "Acerca de los ejecutores auto hospedados".

Si necesitas encontrar el identificador único de un job que se ejecuta en una ejecución de flujo de trabajo, puedes utilizar la API de GitHub AE. Para obtener más información, consulta la sección "Jobs de los Flujos de Trabajo".

Configurar una ID para un job

Utiliza jobs.<job_id> para darle a tu job un identificador único. 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> con una cadena que sea exclusiva del objeto jobs. El <job_id> debe comenzar con una letra o _ y debe contener solo caracteres alfanuméricos, -, o _.

Ejemplo: Crear jobs

En este ejemplo, se crearon dos jobs y sus valores de 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

Configurar el nombre de un job

Utiliza jobs.<job_id>.name para un nombre del job, el cual se muestra en GitHub.

Definir los jobs de prerrequisito

Utiliza jobs.<job_id>.needs para identificar cualquier job que deba completarse con éxito antes de que este se ejecute. Puede ser una cadena o matriz de cadenas. Si un job falla, se saltarán todos los jobs que lo necesiten a menos de que éstos utilicen una expresión condicional que ocasione que el job continúe.

Ejemplo: Requerir jobs dependientes exitosos

jobs:
  job1:
  job2:
    needs: job1
  job3:
    needs: [job1, job2]

En este ejemplo, job1 debe completarse con éxito antes de que job2 comience, y job3 espera a quejob1 y job2 se completen.

En este ejemplo, los trabajos se ejecutan de manera secuencial:

  1. job1
  2. job2
  3. job3

Ejemplo: No requerir jobs dependientes exitosos

jobs:
  job1:
  job2:
    needs: job1
  job3:
    if: ${{ always() }}
    needs: [job1, job2]

En este ejemplo, job3 utiliza la expresión condicional always() para que siempre se ejecute después de que el job1 y el job2 se hayan completado, sin importar si tuvieron éxito o no. Para obtener más información, consulta la sección "Expresiones".