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 lié
    • Des demandes de tirage sont ouvertes
    • Le code est révisé et des changements sont proposés
    • 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 même dépôt

CI/CD pour le Machine Learning

Créer une branche de fonctionnalité

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

Image de la page des branches mettant en évidence 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 flux de travail

  • Indiquez la branche cible pour l'événement de demande de tirage
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 flux de travail

  • Extraction du dépôt dans une étape du travail
steps:
  - name: Checkout 
    uses: actions/checkout@v3
  • Configuration de 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 flux de travail se déclenche sur une demande de tirage vers main
  • Le travail build contient trois étapes
    • Checkout extrait 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 flux de travail

Image de la page de demande de tirage affichant un flux de travail en cours d'exécution

CI/CD pour le Machine Learning

Examiner les journaux du flux de travail

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

CI/CD pour le Machine Learning

Passons à la pratique !

CI/CD pour le Machine Learning

Preparing Video For Download...