GitHub Actions

Concluído

Quando quiser automatizar fluxos de trabalho com o GitHub, use as Ações do GitHub.

O GitHub é usado principalmente para hospedar projetos de código. Ao hospedar seu código de aprendizado de máquina em um repositório GitHub (repo), você pode criar Ações do GitHub para criar, testar e implantar seu código automaticamente.

Nota

Para usar as Ações do GitHub com os pipelines do Azure Machine Learning, você precisa permitir que seu repositório do GitHub acesse seu espaço de trabalho do Azure Machine Learning por meio de uma conexão segura.

Você aprenderá como usar as Ações do GitHub para executar um pipeline do Azure Machine Learning.

Criar uma Ação do GitHub

Diagrama da hierarquia de pipelines.

  1. Defina um evento que acionará o fluxo de trabalho.
  2. Execute o fluxo de trabalho, que consiste em trabalhos.
  3. Um trabalho contém uma ou mais etapas.
  4. Como etapa, execute um pipeline do Azure Machine Learning.
  5. O pipeline do Azure Machine Learning é composto por scripts ou componentes do Azure Machine Learning.

Para criar o fluxo de trabalho para Ações do GitHub, defina as etapas que deseja executar em um arquivo YAML. No arquivo YAML, você incluirá:

  • Evento: como você deseja acionar o fluxo de trabalho.
  • Trabalho: Um grupo de etapas que você deseja executar em um corredor. Para cargas de trabalho de aprendizado de máquina, você provavelmente usará uma máquina virtual Ubuntu Linux .
  • Etapa: Um script ou ação que você deseja executar. Por exemplo, um comando da CLI para iniciar o pipeline do Azure Machine Learning (az ml job create).

Gorjeta

Saiba mais sobre os principais conceitos usados nas Ações do GitHub.

Para executar um pipeline do Azure Machine Learning sempre que as alterações forem enviadas por push para o repositório, você pode usar um arquivo YAML como este:

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

O fluxo de trabalho de exemplo irá:

  1. Confira o repositório para disponibilizá-lo no corredor.
  2. Instale a extensão do Azure Machine Learning para a CLI.
  3. Entre no Azure usando o AZURE_CREDENTIALSarquivo .
  4. Navegue até a pasta, que contém todo o src seu código de produção.
  5. Execute o pipeline do Azure Machine Learning.

Executar um fluxo de trabalho com as Ações do GitHub

Suponha que você criou o arquivo YAML para definir o fluxo de trabalho. Você armazena .github/workflows/ o arquivo YAML no diretório do repositório.

Para visualizar o fluxo de trabalho, navegue até a guia Ações do GitHub do seu repositório.

Captura de tela da visão geral de Ações do GitHub.

O GitHub selecionará automaticamente todos os fluxos de trabalho armazenados no .github/workflows/ diretório.

Gorjeta

Se você adicionar workflow_dispatch: ao seu arquivo YAML do fluxo de trabalho, poderá acionar manualmente o fluxo de trabalho para ser executado na guia Ações .

Você pode acionar o fluxo de trabalho com os eventos especificados no arquivo YAML do fluxo de trabalho. No exemplo, um push para o repositório acionará a execução do fluxo de trabalho. Sempre que você fizer uma alteração e enviar suas confirmações para o repositório (localmente no Visual Studio Code ou diretamente no GitHub), o fluxo de trabalho será executado.

Selecione a execução mais recente para verificar se todas as etapas foram executadas com êxito ou quais mensagens de erro você recebeu.

Captura de tela do fluxo de trabalho executado com êxito.

Quando um fluxo de trabalho aciona um pipeline do Azure Machine Learning, você também deve revisar o pipeline executado no espaço de trabalho do Azure Machine Learning, pois erros ainda podem ocorrer no pipeline do Azure Machine Learning. Todas as mensagens de erro poderão ser visualizadas na pasta de saídas da execução do experimento de pipeline do Azure Machine Learning.