Integrera Azure Machine Learning med DevOps-verktyg

Slutförd

Anta att du arbetar med ett datavetenskapsteam i ett maskininlärningsprojekt. Ditt team kan välja att använda Azure DevOps eller GitHub för att planera arbete, lagra kodlagringsplatsen och automatisera arbetsflöden.

Med båda uppsättningarna med verktyg finns det vanligtvis två roller:

  • Administratör: Konfigurerar DevOps-miljön och hanterar verktygen.
  • Slutanvändare: bidrar till projektet genom att samarbeta om utvecklingen. Anslut till verktygen men har begränsad åtkomst till konfigurationen av DevOps-miljön.

Administratören ansvarar för att ansluta Azure Machine Learning med antingen Azure DevOps eller GitHub. För att förstå hur integreringen med Azure Machine Learning har konfigurerats ska vi utforska hur en administratör på ett säkert sätt ansluter Azure DevOps och GitHub till Azure Machine Learning.

Konfigurera Azure DevOps

För att ansluta Azure DevOps till Azure Machine Learning måste du först skapa en organisation och ett projekt. Du använder organisationen för att gruppera och hantera projekt.

Börja med att logga in på Azure DevOps med ett Microsoft- eller GitHub-konto.

När du har loggat in kan du skapa en organisation.

New organization in Azure DevOps

I en organisation kan du skapa flera projekt.

New project in Azure DevOps

För varje projekt har du åtkomst till verktyg som Boards, Repos och Pipelines för att tillämpa DevOps-principer i ditt projekt.

Anslut Azure DevOps till Azure Machine Learning

För att få säker åtkomst till din Azure Machine Learning-arbetsyta från Azure DevOps måste du skapa en tjänstanslutning.

När du skapar en tjänstanslutning definierar du hur Azure DevOps ska autentiseras för att ansluta till en annan tjänst. När du arbetar med Azure Machine Learning är det rekommenderade alternativet att låta Azure DevOps skapa ett huvudnamn för tjänsten åt dig.

Ett huvudnamn för tjänsten skapas som en identitet i Microsoft Entra-ID:t. I stället för att använda en gruppmedlems autentiseringsuppgifter för att ansluta till Azure Machine Learning använder Azure DevOps tjänstens huvudnamns autentiseringsuppgifter.

När ett Azure DevOps-projekt skapas kan du ansluta till en befintlig Azure Machine Learning-arbetsyta:

  1. I ett projekt går du till Project Inställningar.
  2. Välj tjänstanslutningar och skapa en ny.
  3. Välj Azure Resource Manager.
  4. Välj att autentisera med ett automatiskt tjänsthuvudnamn.
  5. Ange omfångsnivån till Machine Learning Workspace och anslut till en befintlig Azure Machine Learning-arbetsyta som du har åtkomst till.
  6. Bevilja åtkomstbehörighet till alla pipelines.
  7. Ge tjänstanslutningen ett namn. Du använder namnet när du behöver autentisera Azure DevOps för att hantera Azure Machine Learning-arbetsytan.

New service connection in Azure DevOps

När tjänstanslutningen har skapats ser du att ett nyligen skapat huvudnamn för tjänsten har deltagaråtkomst till din Azure Machine Learning-arbetsyta.

Konfigurera GitHub

För att ansluta GitHub till Azure Machine Learning måste du först skapa en GitHub-lagringsplats.

Börja med att logga in på GitHub.

När du har loggat in på GitHub kan du välja om du som individ vill äga lagringsplatsen eller om den ska ägas av en GitHub-organisation.

New repo in GitHub

Anslut GitHub med Azure Machine Learning

Om du vill använda GitHub för att automatisera arbetsflöden för maskininlärning kan du autentisera GitHub för att ansluta till Azure Machine Learning. För att konfigurera en säker anslutning måste du:

  • Skapa ett huvudnamn för tjänsten i Azure.
  • Lägg till autentiseringsuppgifterna för tjänstens huvudnamn i lagringsplatsens hemligheter.

Om du vill skapa ett huvudnamn för tjänsten kan du använda Azure CLI. För att arbeta med CLI är ett alternativ att skicka kommandon i Azure Cloud Shell.

Du kan skapa ett huvudnamn för tjänsten med namnet github-aml-sp som ger deltagare åtkomst till Azure Machine Learning-arbetsytan med följande kommando:

az ad sp create-for-rbac --name "github-aml-sp" --role contributor \
                            --scopes /subscriptions/<subscription-id>/resourceGroups/<group-name>/providers/Microsoft.MachineLearningServices/workspaces/<workspace-name> \
                            --sdk-auth

När tjänstens huvudnamn har skapats returneras en JSON-text till dig som utdata som innehåller de autentiseringsuppgifter som GitHub behöver för att ansluta till din Azure-resursgrupp. Kopiera JSON-texten och spara den i nästa steg.

Så här lagrar du dessa autentiseringsuppgifter i GitHub:

  1. Gå till lagringsplatsens Inställningar.
  2. Gå till sidan Hemligheter .
  3. Välj Åtgärder.
  4. Lägg till en ny lagringsplatshemlighet.
  5. Ange AZURE_CREDENTIALS som namn.
  6. Klistra in JSON-utdata med autentiseringsuppgifterna och lägg till hemligheten.

New secret in GitHub

När hemligheten har lagts till i GitHub kan du använda hemligheten när du behöver GitHub för att autentiseras AZURE_CREDENTIALS för att arbeta med din Azure Machine Learning-arbetsyta.

Dricks

Fortsätt din utbildning om att integrera GitHub med Azure Machine Learning och utforska hur du använder GitHub Actions med Azure Machine Learning. I självstudien används hemligheten AZURE_CREDENTIALS för att ansluta till Azure.