GitHub Actions

Dokončeno

Pokud chcete automatizovat pracovní postupy pomocí GitHubu, použijete GitHub Actions.

GitHub se primárně používá k hostování projektů kódu. Při hostování kódu strojového učení v úložišti GitHubu (úložiště) můžete vytvořit GitHub Actions, který automaticky sestaví, otestuje a nasadí váš kód.

Poznámka:

Pokud chcete používat GitHub Actions s kanály Azure Machine Learning, musíte svému úložišti GitHub povolit přístup k pracovnímu prostoru Azure Machine Learning přes zabezpečené připojení.

Dozvíte se, jak pomocí GitHub Actions spustit kanál Azure Machine Learning.

Vytvoření akce GitHubu

Diagram hierarchie kanálů

  1. Definujte událost, která aktivuje pracovní postup.
  2. Spusťte pracovní postup, který se skládá z úloh.
  3. Úloha obsahuje jeden nebo více kroků.
  4. Jako krok spusťte kanál Služby Azure Machine Learning.
  5. Kanál Služby Azure Machine Learning se skládá ze skriptů nebo komponent služby Azure Machine Learning.

Pokud chcete vytvořit pracovní postup pro GitHub Actions, definujete kroky, které chcete spustit v souboru YAML. Do souboru YAML zahrnete:

  • Událost: Jak chcete aktivovat pracovní postup.
  • Úloha: Skupina kroků, které chcete spustit u spouštěče. Pro úlohy strojového učení budete pravděpodobně používat virtuální počítač s Ubuntu Linuxem.
  • Krok: Skript nebo akce, které chcete spustit. Například příkaz rozhraní příkazového řádku pro zahájení kanálu služby Azure Machine Learning (az ml job create).

Tip

Přečtěte si další informace o základních konceptech používaných v GitHub Actions.

Pokud chcete spustit kanál Azure Machine Learning při každém nasdílení změn do úložiště, můžete použít soubor YAML takto:

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

Ukázkový pracovní postup:

  1. Podívejte se na úložiště, aby bylo dostupné na spouštěči.
  2. Nainstalujte rozšíření Azure Machine Learning pro rozhraní příkazového řádku.
  3. Přihlaste se k Azure pomocí předdefinované AZURE_CREDENTIALS.
  4. Přejděte do src složky, která obsahuje veškerý produkční kód.
  5. Spusťte kanál Služby Azure Machine Learning.

Spuštění pracovního postupu pomocí GitHub Actions

Předpokládejme, že jste vytvořili soubor YAML pro definování pracovního postupu. Soubor YAML uložíte do .github/workflows/ adresáře ve vašem úložišti.

Pokud chcete zobrazit pracovní postup, přejděte na kartu GitHub Actions vašeho úložiště.

Snímek obrazovky s přehledem GitHub Actions

GitHub automaticky vyzvedne všechny pracovní postupy uložené v adresáři .github/workflows/ .

Tip

Pokud přidáte workflow_dispatch: do souboru YAML pracovního postupu, můžete ho spustit ručně z karty Akce .

Pracovní postup můžete aktivovat událostmi zadanými v souboru YAML pracovního postupu. V tomto příkladu se nasdílení změn do úložiště aktivuje spuštění pracovního postupu. Kdykoli provedete změnu a odešlete potvrzení do úložiště (místně v editoru Visual Studio Code nebo přímo na GitHubu), pracovní postup se spustí.

Vyberte nejnovější spuštění a zkontrolujte, jestli se všechny kroky úspěšně spustily nebo jaké chybové zprávy jste obdrželi.

Snímek obrazovky s úspěšně provedeným pracovním postupem

Když pracovní postup aktivuje kanál Služby Azure Machine Learning, měli byste také zkontrolovat spuštění kanálu v pracovním prostoru Azure Machine Learning, protože v kanálu Azure Machine Learning se můžou stále vyskytovat chyby. Všechny chybové zprávy se zobrazí ve složce výstupů spuštění experimentu kanálu Služby Azure Machine Learning.