Exécuter le code du dépôt

CI/CD pour le Machine Learning

Ravi Bhadauria

Machine Learning Engineer

Modèle de dépôt partagé

  • Plusieurs collaborateurs travaillent sur le même dépôt
  • Des branches de fonctionnalité/sujet sont créées pour le travail associé
    • Des pull requests sont ouvertes
    • Le code est relu et des modifications sont proposées
    • Le code de la branche est fusionné dans la branche main
  • Les vérifications CI/CD améliorent la qualité du code

Image du modèle de dépôt partagé où plusieurs développeurs contribuent à un seul dépôt

CI/CD pour le Machine Learning

Créer une branche de fonctionnalité

Image de la page d'accueil mettant en avant l'onglet des branches

Image de la page des branches mettant en avant l'onglet nouvelle branche

CI/CD pour le Machine Learning

Créer une branche de fonctionnalité

Image de la page d'accueil du dépôt affichant la branche de fonctionnalité active

CI/CD pour le Machine Learning

Ajouter du code au dépôt

Enregistrez sous hello_world.py dans la branche

import datetime

def main():
    print("Hello, World!")

    # Get the current time and print it
    current_time = datetime.datetime.now()
    print("Current time:", current_time)

if __name__ == "__main__":
    main()
CI/CD pour le Machine Learning

Configurer l'événement du workflow

  • Indiquez la branche cible pour l'événement de pull request
on:
  pull_request:
    branches: [ "main" ]
CI/CD pour le Machine Learning

Syntaxe des actions

steps:
  - name: My Action 
    uses: <org_or_user_name>/<reponame>@<version_number>
    with:
      action-argument: value
CI/CD pour le Machine Learning

Configurer les étapes et actions du workflow

  • Récupérer le dépôt dans une étape du job
steps:
  - name: Checkout 
    uses: actions/checkout@v3
  • Configurer l'environnement Python
steps:
  - name: Setup Python
    uses: actions/setup-python@v4
    with:
      python-version: 3.9
CI/CD pour le Machine Learning

Assembler le tout

  • Le workflow se déclenche sur une pull request vers main
  • Le job build contient trois étapes
    • Checkout récupère le dépôt
    • Setup Python configure l'environnement Python
    • Run Python script exécute le fichier Python
name: PR

on:
  pull_request:
    branches: [ "main" ]

jobs:
  build:
    runs-on: ubuntu-latest
    steps:
      - name: Checkout
        uses: actions/checkout@v3
      - name: Setup Python
        uses: actions/setup-python@v4
        with:
          python-version: 3.9
      - name: Run Python script
        run: |
          echo hello_world.py 
          python hello_world.py
CI/CD pour le Machine Learning

Créer une PR et déclencher le workflow

Image de la page de pull request affichant un workflow en cours

CI/CD pour le Machine Learning

Examiner les journaux du workflow

Image de la page des journaux du workflow affichant l'étape du script Python parmi d'autres

CI/CD pour le Machine Learning

Passons à la pratique !

CI/CD pour le Machine Learning

Preparing Video For Download...