GitHub Actions (verktyg för arbetsflöden)

Slutförd

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

Diagram över hierarkin av rörledningar.

  1. Definiera en händelse som utlöser arbetsflödet.
  2. Kör arbetsflödet, som består av jobb.
  3. Ett jobb innehåller ett eller flera steg.
  4. Som ett steg kör du en Azure Machine Learning-pipeline.
  5. 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).

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:

  1. Kolla in lagringsplatsen för att göra den tillgänglig på löparen.
  2. Installera Azure Machine Learning-tillägget för CLI.
  3. Logga in på Azure med den fördefinierade AZURE_CREDENTIALS.
  4. Gå till src mappen som innehåller all produktionskod.
  5. 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.

Skärmbild av Översikt över GitHub Actions.

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.

Skärmbild av ett framgångsrikt genomfört arbetsflöde.

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.