GitHub Actions (verktyg för arbetsflöden)
När du vill automatisera arbetsflöden med GitHub använder du GitHub Actions.
GitHub används främst för att vara värd för kodprojekt. När du är värd för din maskininlärningskod på en GitHub-lagringsplats (lagringsplats) kan du skapa GitHub Actions för att automatiskt skapa, testa och distribuera koden.
Kommentar
Om du vill använda GitHub Actions med Azure Machine Learning-pipelines måste du tillåta din GitHub-lagringsplats att komma åt din Azure Machine Learning-arbetsyta via en säker anslutning.
Du får lära dig hur du använder GitHub Actions för att köra en Azure Machine Learning-pipeline.
Skapa en GitHub-åtgärd
- Definiera en händelse som utlöser arbetsflödet.
- Kör arbetsflödet, som består av jobb.
- Ett jobb innehåller ett eller flera steg.
- Som ett steg kör du en Azure Machine Learning-pipeline.
- Azure Machine Learning-pipelinen består av skript eller Azure Machine Learning-komponenter.
Om du vill skapa arbetsflödet för GitHub Actions definierar du de steg som du vill köra i en YAML-fil. I YAML-filen inkluderar du:
- Händelse: Så här vill du utlösa arbetsflödet.
- Jobb: En grupp med steg som du vill köra på en löpare. För maskininlärningsarbetsbelastningar använder du förmodligen en virtuell Ubuntu Linux-dator .
-
Steg: Ett skript eller en åtgärd som du vill köra. Till exempel ett CLI-kommando för att initiera Azure Machine Learning-pipelinen (
az ml job create).
Dricks
Läs mer om grundläggande begrepp som används i GitHub Actions.
Om du vill köra en Azure Machine Learning-pipeline när ändringar skickas till lagringsplatsen kan du använda en YAML-fil så här:
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
Exempelarbetsflödet kommer att:
- Kolla in lagringsplatsen för att göra den tillgänglig på löparen.
- Installera Azure Machine Learning-tillägget för CLI.
- Logga in på Azure med den fördefinierade
AZURE_CREDENTIALS. - Gå till
srcmappen som innehåller all produktionskod. - Kör Azure Machine Learning-pipelinen.
Köra ett arbetsflöde med GitHub Actions
Anta att du har skapat YAML-filen för att definiera arbetsflödet. Du lagrar YAML-filen i .github/workflows/ katalogen på lagringsplatsen.
Om du vill visa arbetsflödet går du till fliken GitHub Actions på lagringsplatsen.
GitHub hämtar automatiskt alla arbetsflöden som lagras i .github/workflows/ katalogen.
Dricks
Om du lägger till workflow_dispatch: i yaml-filen för arbetsflödet kan du manuellt utlösa arbetsflödet för körning från fliken Åtgärder .
Du kan utlösa arbetsflödet med de händelser som anges i YAML-filen för arbetsflödet. I exemplet utlöser en push-överföring till lagringsplatsen arbetsflödet som ska köras. När du gör en ändring och push-överför dina incheckningar till lagringsplatsen (lokalt i Visual Studio Code eller direkt i GitHub) körs arbetsflödet.
Välj den senaste körningen för att ytterligare kontrollera om alla steg har körts eller vilka felmeddelanden du har fått.
När ett arbetsflöde utlöser en Azure Machine Learning-pipeline bör du också granska pipelinekörningen på Azure Machine Learning-arbetsytan eftersom fel fortfarande kan uppstå i Azure Machine Learning-pipelinen. Eventuella felmeddelanden kan visas i utdatamappen för Azure Machine Learning-pipelineexperimentkörningen.