Introduction à GitHub Actions

CI/CD pour le Machine Learning

Ravi Bhadauria

Machine Learning Engineer

Qu'est-ce que GitHub Actions ?

  • GitHub Actions (GHA) : plateforme CI/CD pour automatiser des pipelines
  • Pipeline : enchaînement d'étapes représentant le flux de travail et de données
CI/CD pour le Machine Learning

Qu'est-ce que GitHub Actions ?

Image d'une chaîne de montage automobile avec des opérateurs à différentes étapes : pose du moteur, installation des roues, peinture de la carrosserie.

CI/CD pour le Machine Learning

Qu'est-ce que GitHub Actions ?

GitHub Actions crée une série d'actions ou d'étapes définies pour un projet logiciel : récupérer le dépôt, construire le code, exécuter les tests, déployer l'application.

1 https://medium.com/empathyco/applying-ci-cd-using-github-actions-for-android-1231e40cc52f
CI/CD pour le Machine Learning

Composants GHA : Événement

  • Événement : activité spécifique dans un dépôt qui déclenche l'exécution d'un workflow
    • Push
    • Pull Request
    • Ouverture d'une issue
CI/CD pour le Machine Learning

Composants GHA : Workflow

  • Workflow : processus automatisé exécutant un ou plusieurs jobs
    • Défini dans des fichiers YAML
    • Déclenché automatiquement par un événement
      • Exécution manuelle possible
    • Situé dans le répertoire .github/workflows du dépôt
    • Plusieurs workflows peuvent être définis
CI/CD pour le Machine Learning

Composants GHA : Étapes et Actions

  • Étapes : unités de travail individuelles
    • Exécutées dans l'ordre, dépendent de l'étape précédente
    • S'exécutent sur la même machine ; les données peuvent être partagées
    • Exemples d'unités de travail
      • Application compilée, script shell
      • Action : application spécifique à la plateforme GHA
        • P. ex. : checkout du dépôt, commentaire sur une PR
CI/CD pour le Machine Learning

Composants GHA : Jobs et Runners

  • Job : ensemble d'étapes
    • Chaque job est indépendant
    • Exécution en parallèle possible
    • Exécuté sur la machine de calcul appelée runner
CI/CD pour le Machine Learning

Un workflow GHA simple

Image d'un événement push dans un dépôt ayant déclenché un workflow où un seul job s'exécute sur un runner Ubuntu Linux. Le job contient deux étapes : checkout du dépôt et exécution de code Python.

  • Événement : Push
  • Job : s'exécute sur un runner Ubuntu, comporte deux étapes
    • Action : Checkout du dépôt
    • Exécuter du code Python
CI/CD pour le Machine Learning

Vue d'ensemble

Image des composants typiques d'un workflow GitHub Actions illustrant des jobs en parallèle et des étapes séquentielles.

CI/CD pour le Machine Learning

Passons à la pratique !

CI/CD pour le Machine Learning

Preparing Video For Download...