Prérequis
Pour implémenter des travaux dans vos flux de travail, vous devez comprendre ce que sont les travaux. Consultez Comprendre GitHub Actions.
Définition d’un ID pour un travail
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
Définition d’un nom pour un travail
Utilisez jobs.<job_id>.name
pour définir un nom pour le travail, qui s’affiche sur l’interface utilisateur GitHub.
Définition des travaux prérequis
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 « Évaluer les expressions dans les workflows et les actions ».
Utilisation d’une matrice pour exécuter des travaux avec différentes variables
Pour exécuter automatiquement un travail avec différentes combinaisons de variables, telles que des systèmes d’exploitation ou des versions de langage, définissez une stratégie de matrix
dans votre flux de travail.
Pour plus d’informations, consultez « Exécution de variantes de tâches dans un workflow ».