Integrowanie usługi Azure Machine Learning z narzędziami DevOps

Ukończone

Wyobraź sobie, że pracujesz z zespołem ds. nauki o danych w projekcie uczenia maszynowego. Twój zespół może zdecydować się na użycie usługi Azure DevOps lub GitHub do planowania pracy, przechowywania repozytorium kodu i automatyzowania przepływów pracy.

W przypadku dowolnego zestawu narzędzi istnieją zazwyczaj dwie role:

  • Administrator: konfiguruje środowisko DevOps i zarządza narzędziami.
  • użytkownik końcowy: współtworzy projekt poprzez współpracę nad rozwojem. Łączy się z narzędziami, ale ma ograniczony dostęp do konfiguracji środowiska DevOps.

Administrator jest odpowiedzialny za łączenie usługi Azure Machine Learning z usługą Azure DevOps lub GitHub. Aby dowiedzieć się, jak skonfigurowana jest integracja z usługą Azure Machine Learning, zobaczmy, jak administrator bezpiecznie połączy usługi Azure DevOps i GitHub z usługą Azure Machine Learning.

Konfigurowanie usługi Azure DevOps

Aby połączyć usługę Azure DevOps z usługą Azure Machine Learning, najpierw musisz utworzyć organizację i projekt. Użyjesz organizacji do grupowania projektów i zarządzania nimi.

Zacznij od zalogowania się do usługi Azure DevOps przy użyciu konta Microsoft lub GitHub.

Po zalogowaniu można utworzyć organizację .

Nowa organizacja w usłudze Azure DevOps

W organizacji można utworzyć wiele projektów .

Nowy projekt w usłudze Azure DevOps

Dla każdego projektu będziesz mieć dostęp do narzędzi, takich jak Boards, Reposi Pipelines, aby zastosować zasady devOps w projekcie.

Łączenie usługi Azure DevOps z usługą Azure Machine Learning

Aby bezpiecznie uzyskać dostęp do obszaru roboczego usługi Azure Machine Learning z usługi Azure DevOps, musisz utworzyć połączenie usługi .

Podczas tworzenia połączenia z usługą należy zdefiniować sposób uwierzytelniania usługi Azure DevOps w celu nawiązania połączenia z inną usługą. Podczas pracy z usługą Azure Machine Learning zalecaną opcją jest pozwolić na utworzenie zasady usługi przez Azure DevOps dla Ciebie.

Główna jednostka usługi jest tworzona jako tożsamość w Microsoft Entra ID. Zamiast używać poświadczeń członka zespołu do nawiązywania połączenia z usługą Azure Machine Learning, usługa Azure DevOps używa poświadczeń jednostki usługi.

Po utworzeniu projektu usługi Azure DevOps możesz nawiązać połączenie z istniejącym obszarem roboczym usługi Azure Machine Learning:

  1. W projekcie przejdź do Ustawienia Projektu.
  2. Wybierz połączenia serwisowe i utwórz nowe.
  3. Wybierz Azure Resource Manager.
  4. Wybierz opcję uwierzytelniania za pomocą automatycznego Service Principal.
  5. Ustaw poziom zakresu na obszar roboczy usługi Machine Learning i połącz się z istniejącym obszarem roboczym usługi Azure Machine Learning, do którego masz dostęp.
  6. Przyznaj uprawnienia dostępu do wszystkich pipeline'ów.
  7. Nadaj połączeniu usługi nazwę. Użyjesz nazwy zawsze, gdy musisz uwierzytelnić usługę Azure DevOps w celu zarządzania obszarem roboczym usługi Azure Machine Learning.

nowe połączenie usługi w usłudze Azure DevOps

Po utworzeniu połączenia z usługą zauważysz, że nowo utworzona jednostka usługi ma Współautor dostęp do obszaru roboczego usługi Azure Machine Learning.

Konfigurowanie usługi GitHub

Aby połączyć usługę GitHub z usługą Azure Machine Learning, najpierw musisz utworzyć repozytorium GitHub.

Zacznij od zalogowania się do usługi GitHub.

Po zalogowaniu się do usługi GitHub możesz wybrać, czy jesteś właścicielem repozytorium jako użytkownik indywidualny, czy też powinien być własnością organizacji usługi GitHub.

nowe repozytorium w usłudze GitHub

Napiwek

Dowiedz się więcej o korzystaniu z organizacji GitHub do zarządzania repozytoriami .

Łączenie usługi GitHub z usługą Azure Machine Learning

Aby zautomatyzować przepływy pracy uczenia maszynowego za pomocą usługi GitHub, możesz uwierzytelnić usługę GitHub w celu nawiązania połączenia z usługą Azure Machine Learning. Aby skonfigurować bezpieczne połączenie, musisz:

  • Utwórz jednostkę usługi na platformie Azure.
  • Dodaj poświadczenia jednostki usługi do wpisów tajnych repozytorium.

Aby utworzyć jednostkę usługi, możesz użyć interfejsu wiersza polecenia platformy Azure. Aby pracować z interfejsem wiersza polecenia, jedną z opcji jest wprowadzanie poleceń w usłudze Azure Cloud Shell.

Możesz utworzyć jednostkę usługi o nazwie github-aml-sp, która będzie mieć dostęp Współautor dostęp do obszaru roboczego usługi Azure Machine Learning za pomocą następującego polecenia:

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

Po utworzeniu jednostki usługi otrzymasz tekst JSON jako dane wyjściowe, który zawiera poświadczenia potrzebne GitHubowi do połączenia się z grupą zasobów Azure. Skopiuj tekst JSON i zapisz go w następnym kroku.

Aby przechowywać te poświadczenia w usłudze GitHub:

  1. Przejdź do ustawień repozytorium.
  2. Przejdź do strony Tajne.
  3. Wybierz pozycję Actions.
  4. Dodaj nowy sekret repozytorium.
  5. Wprowadź AZURE_CREDENTIALS jako nazwę.
  6. Wklej wyjściowy kod JSON przy użyciu poświadczeń i dodaj wpis tajny.

Nowy wpis tajny w usłudze GitHub

Po dodaniu wpisu tajnego do usługi GitHub możesz użyć wpisu tajnego AZURE_CREDENTIALS zawsze, gdy konieczne jest uwierzytelnienie usługi GitHub w celu pracy z obszarem roboczym usługi Azure Machine Learning.

Napiwek

Kontynuuj naukę dotyczącą integracji usługi GitHub z usługą Azure Machine Learning i dowiedz się, jak używać funkcji GitHub Actions z usługą Azure Machine Learning. W samouczku użyto tajnego klucza AZURE_CREDENTIALS do połączenia z Azure.