Prerequisites
To implement jobs in your workflows, you need to understand what jobs are. See Understanding GitHub Actions.
Setting an ID for a job
Utilisez jobs.<job_id>
pour attribuer un identificateur unique à votre travail. La clé job_id
est une chaîne et sa valeur est une carte des données de configuration du travail. Vous devez remplacer <job_id>
par une chaîne propre à l’objet jobs
. <job_id>
doit commencer par une lettre ou par _
, et contenir uniquement des caractères alphanumériques, des -
ou des _
.
Exemple : Création de travaux
Dans cet exemple, deux travaux ont été créés, et leurs valeurs job_id
sont my_first_job
et my_second_job
.
jobs:
my_first_job:
name: My first job
my_second_job:
name: My second job
Setting a name for a job
Utilisez jobs.<job_id>.name
pour définir un nom pour le travail, qui s’affiche sur l’interface utilisateur GitHub.
Defining prerequisite jobs
Utilisez jobs.<job_id>.needs
pour identifier les travaux à accomplir avant l’exécution de ce travail. Il peut s’agir d’une chaîne ou d’un tableau de chaînes. Si un travail échoue ou est ignoré, tous les travaux qui besoin de celui-ci sont ignorés, sauf s’ils utilisent une expression conditionnelle entraînant la poursuite du travail. Si une exécution contient une série de travaux qui ont besoin l’un de l’autre, une défaillance ou l’action d’ignorer s’applique à tous les travaux de la chaîne de dépendance à partir du point en question. Si vous souhaitez qu’un travail s’exécute même si un travail dont il dépend n’a pas réussi, utilisez l’expression conditionnelle always()
dans jobs.<job_id>.if
.
Exemple : Exigence de réussite de travaux dépendants
jobs:
job1:
job2:
needs: job1
job3:
needs: [job1, job2]
Dans cet exemple, job1
doit être correctement accompli avant que job2
commence, et job3
attend que job1
et job2
soient accomplis.
Les travaux dans cet exemple s’exécutent séquentiellement :
job1
job2
job3
Exemple : Non-exigence de réussite de travaux dépendants
jobs:
job1:
job2:
needs: job1
job3:
if: ${{ always() }}
needs: [job1, job2]
Dans cet exemple, job3
utilise l’expression conditionnelle always()
afin de toujours s’exécuter après que job1
et job2
ont été effectués avec ou sans succès. Pour plus d’informations, consultez « Evaluate expressions in workflows and actions ».
Using a matrix to run jobs with different variables
To automatically run a job with different combinations of variables, such as operating systems or language versions, define a matrix
strategy in your workflow.
For more information, see Running variations of jobs in a workflow.