Funkcja GitHub Actions
Jeśli chcesz zautomatyzować przepływy pracy za pomocą usługi GitHub, użyj funkcji GitHub Actions.
Usługa GitHub jest używana głównie do hostowania projektów kodu. Podczas hostowania kodu uczenia maszynowego w repozytorium GitHub (repozytorium) możesz utworzyć funkcję GitHub Actions w celu automatycznego kompilowania, testowania i wdrażania kodu.
Uwaga
Aby używać funkcji GitHub Actions z potokami usługi Azure Machine Learning, musisz zezwolić repozytorium GitHub na dostęp do obszaru roboczego usługi Azure Machine Learning za pośrednictwem bezpiecznego połączenia.
Dowiesz się, jak używać funkcji GitHub Actions do uruchamiania potoku usługi Azure Machine Learning.
Tworzenie akcji usługi GitHub
- Zdefiniuj zdarzenie , które wyzwoli przepływ pracy.
- Uruchom przepływ pracy, który składa się z zadań.
- Zadanie zawiera co najmniej jeden krok.
- W ramach kroku uruchom potok usługi Azure Machine Learning.
- Potok usługi Azure Machine Learning składa się ze skryptów lub składników usługi Azure Machine Learning.
Aby utworzyć przepływ pracy dla funkcji GitHub Actions, zdefiniuj kroki, które chcesz uruchomić w pliku YAML. W pliku YAML uwzględnisz następujące elementy:
- Zdarzenie: Jak chcesz wyzwolić przepływ pracy.
- Zadanie: grupa kroków, które chcesz wykonać w module uruchamiającym. W przypadku obciążeń uczenia maszynowego prawdopodobnie użyjesz maszyny wirtualnej z systemem Ubuntu Linux .
-
Krok: skrypt lub akcja, którą chcesz uruchomić. Na przykład polecenie interfejsu wiersza polecenia w celu zainicjowania potoku usługi Azure Machine Learning (
az ml job create
).
Napiwek
Dowiedz się więcej o podstawowych pojęciach używanych w funkcji GitHub Actions.
Aby uruchomić potok usługi Azure Machine Learning za każdym razem, gdy zmiany są wypychane do repozytorium, możesz użyć pliku YAML w następujący sposób:
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
Przykładowy przepływ pracy będzie:
- Zapoznaj się z repozytorium, aby udostępnić je w module uruchamiającym.
- Zainstaluj rozszerzenie usługi Azure Machine Learning dla interfejsu wiersza polecenia.
- Zaloguj się do platformy Azure przy użyciu wstępnie
AZURE_CREDENTIALS
zdefiniowanego elementu . - Przejdź do folderu zawierającego
src
cały kod produkcyjny. - Uruchom potok usługi Azure Machine Learning.
Uruchamianie przepływu pracy za pomocą funkcji GitHub Actions
Załóżmy, że utworzono plik YAML w celu zdefiniowania przepływu pracy. Plik YAML jest przechowywany w .github/workflows/
katalogu w repozytorium.
Aby wyświetlić przepływ pracy, przejdź do karty Funkcji GitHub Actions repozytorium.
Usługa GitHub automatycznie pobiera wszystkie przepływy pracy przechowywane w .github/workflows/
katalogu.
Napiwek
Jeśli dodasz workflow_dispatch:
do pliku YAML przepływu pracy, możesz ręcznie wyzwolić przepływ pracy do uruchomienia z karty Akcje .
Przepływ pracy można wyzwolić za pomocą zdarzeń określonych w pliku YAML przepływu pracy. W tym przykładzie wypychanie do repozytorium spowoduje wyzwolenie przepływu pracy do uruchomienia. Za każdym razem, gdy wprowadzisz zmianę i wypchniesz zatwierdzenia do repozytorium (lokalnie w programie Visual Studio Code lub bezpośrednio w usłudze GitHub), przepływ pracy zostanie uruchomiony.
Wybierz najnowszy przebieg, aby dokładniej sprawdzić, czy wszystkie kroki zostały wykonane pomyślnie, czy jakie komunikaty o błędach zostały odebrane.
Gdy przepływ pracy wyzwala potok usługi Azure Machine Learning, należy również przejrzeć przebieg potoku w obszarze roboczym usługi Azure Machine Learning, ponieważ błędy mogą nadal występować w potoku usługi Azure Machine Learning. Wszystkie komunikaty o błędach będą widoczne w folderze outputs przebiegu eksperymentu potoku usługi Azure Machine Learning.