GitHub Actions
Lorsque vous souhaitez automatiser des workflows avec GitHub, vous utilisez GitHub Actions.
GitHub est principalement utilisé pour héberger des projets de code. Lorsque vous hébergez votre code Machine Learning dans un dépôt GitHub (référentiel), vous pouvez créer des actions GitHub pour générer, tester et déployer automatiquement votre code.
Remarque
Pour utiliser GitHub Actions avec des pipelines Azure Machine Learning, vous devez autoriser votre dépôt GitHub à accéder à votre espace de travail Azure Machine Learning via une connexion sécurisée.
Vous allez apprendre à utiliser GitHub Actions pour exécuter un pipeline Azure Machine Learning.
Créer une action GitHub
- Définissez un événement qui déclenchera le workflow.
- Exécutez le workflow, qui se compose de travaux.
- Un travail contient une ou plusieurs étapes.
- Comme étape, exécutez un pipeline Azure Machine Learning.
- Le pipeline Azure Machine Learning est constitué de scripts ou de composants Azure Machine Learning.
Pour créer le workflow pour GitHub Actions, vous définissez les étapes à exécuter dans un fichier YAML. Dans le fichier YAML, incluez les informations suivantes :
- Événement : Façon dont vous souhaitez déclencher le workflow.
- Travail : Groupe d’étapes que vous souhaitez exécuter sur un exécuteur. Pour les charges de travail Machine Learning, vous utiliserez probablement une machine virtuelle Ubuntu Linux.
- Étape : Script ou action que vous souhaitez exécuter. Par exemple, une commande CLI pour lancer le pipeline Azure Machine Learning (
az ml job create
).
Conseil
En savoir plus sur les concepts clés utilisés dans GitHub Actions.
Pour exécuter un pipeline Azure Machine Learning chaque fois que des modifications sont poussées dans le dépôt, vous pouvez utiliser un fichier YAML comme suit :
name: Train model
on:
push:
branches: [ main ]
jobs:
build:
runs-on: ubuntu-latest
steps:
- name: check out repo
uses: actions/checkout@v2
- name: install az ml extension
run: az extension add -n ml -y
- name: azure login
uses: azure/login@v1
with:
creds: ${{secrets.AZURE_CREDENTIALS}}
- name: set current directory
run: cd src
- name: run pipeline
run: az ml job create --file src/aml_service/pipeline-job.yml --resource-group dev-ml-rg --workspace-name dev-ml-ws
L’exemple de workflow effectue les actions suivantes :
- Extraire le dépôt pour le rendre disponible sur l’exécuteur.
- Installer l’extension Azure Machine Learning pour l’interface CLI.
- Connectez-vous à Azure avec le
AZURE_CREDENTIALS
prédéfini. - Accédez au dossier
src
, qui contient tout votre code de production. - Exécutez le pipeline Azure Machine Learning.
Exécuter un workflow avec GitHub Actions
Supposons que vous avez créé le fichier YAML pour définir le workflow. Vous stockez le fichier YAML dans le répertoire .github/workflows/
de votre dépôt.
Pour voir le workflow, accédez à l’onglet Actions GitHub de votre dépôt.
GitHub récupère automatiquement tous les workflows stockés dans le répertoire .github/workflows/
.
Conseil
Si vous ajoutez workflow_dispatch:
à votre fichier YAML de workflow, vous pouvez déclencher manuellement l’exécution du workflow à partir de l’onglet Actions.
Vous pouvez déclencher le workflow avec les événements spécifiés dans votre fichier YAML de workflow. Dans l’exemple, une poussée dans le dépôt déclenche l’exécution du workflow. Chaque fois que vous apportez une modification et poussez vos commits dans le dépôt (localement dans Visual Studio Code ou directement dans GitHub), le workflow s’exécute.
Sélectionnez la dernière exécution pour vérifier si toutes les étapes ont été correctement exécutées ou quels messages d’erreur vous avez reçus.
Lorsqu’un workflow déclenche un pipeline Azure Machine Learning, vous devez également regarder l’exécution du pipeline dans l’espace de travail Azure Machine Learning, car des erreurs peuvent toujours se produire dans le pipeline Azure Machine Learning. Tous les messages d’erreur sont visibles dans le dossier des sorties de l’exécution de l’expérience de pipeline Azure Machine Learning.