Compilar aplicações Python

Serviços de DevOps do Azure | Azure DevOps Server 2022 - Azure DevOps Server 2019

Você pode usar o Azure Pipelines para criar, testar e implantar aplicativos e scripts Python como parte do seu sistema de CI/CD.

Neste guia de início rápido, você aprenderá a criar um pipeline para criar e testar um aplicativo Python.

Você não precisa configurar nada para o Azure Pipelines criar projetos Python. O Python está pré-instalado em agentes de compilação hospedados pela Microsoft para Linux, macOS ou Windows. Para ver quais versões do Python estão pré-instaladas, consulte Usar um agente hospedado pela Microsoft.

Pré-requisitos

  • Uma conta do GitHub onde você pode criar um repositório. Crie um gratuitamente.
  • Um Servidor de DevOps do Azure.
  • Um projeto de DevOps do Azure. Crie um usando o Assistente de Criação de Projeto do Azure DevOps Server.
  • Um agente auto-hospedado. Para criar um, consulte Agentes auto-hospedados.
  • Versões Python instaladas em seu agente auto-hospedado. Para saber como instalar o Python em seu agente, consulte UsePythonVersion.

1. Fork o código de exemplo

Fork o repositório Python de exemplo para sua conta do GitHub.

  1. Vá para o repositório python-sample-vscode-flask-tutorial .
  2. Selecione Forquilha no canto superior direito da página.
  3. Selecione a conta do GitHub onde você deseja bifurcar o repositório e insira um nome para o repositório bifurcado.

2. Crie seu pipeline

  1. Vá para Azure Pipelines e selecione Iniciar grátis. Se solicitado, entre na sua conta de DevOps.

  2. Vá para o seu projeto e selecione Pipelines>Create pipeline.

  3. Selecione GitHub como o local do seu código-fonte.

  4. Se você for redirecionado para o GitHub para entrar, insira suas credenciais do GitHub.

  5. Quando a lista de repositórios for exibida, selecione seu repositório de exemplo bifurcado.

  6. Na guia Configurar seu pipeline, selecione Pipeline inicial.

  1. Em um navegador, vá para sua coleção do DevOps Server.

  2. Vá para o seu projeto e selecione Pipelines>Criar um novo pipeline.

  3. Selecione GitHub Enterprise Server como o local do seu código-fonte.

  4. Se você for redirecionado para o GitHub para entrar, insira suas credenciais do GitHub.

  5. Quando a lista de repositórios for exibida, selecione seu repositório de exemplo bifurcado.

  6. Na guia Configurar seu pipeline, selecione Pipeline inicial.

3. Personalize seu pipeline

Substitua o conteúdo do arquivo azure-pipelines.yml gerado pelo código a seguir. Esse código instala a versão necessária do Python e as dependências, empacota o pacote Python em um arquivo zip publicado em seu pipeline e executa testes.

trigger:
- main

pool:
  vmImage: ubuntu-latest

strategy:
  matrix:
    Python310:
      python.version: '3.10'
    Python311:
      python.version: '3.11'
    Python312:
      python.version: '3.12'

steps:
  - task: UsePythonVersion@0
    inputs:
      versionSpec: '$(python.version)'
    displayName: 'Use Python $(python.version)'

  - script: |
      python -m pip install --upgrade pip
      pip install -r requirements.txt
    displayName: 'Install dependencies'

  - task: ArchiveFiles@2
    displayName: 'Archive files'
    inputs:
      rootFolderOrFile: $(System.DefaultWorkingDirectory)
      includeRootFolder: false
      archiveType: zip
      archiveFile: $(Build.ArtifactStagingDirectory)/$(Build.BuildId)-$(python.version).zip
      replaceExistingArchive: true

  - task: PublishBuildArtifacts@1
    inputs:
      PathtoPublish: '$(Build.ArtifactStagingDirectory)'
      ArtifactName: 'drop'
      publishLocation: 'Container'

  - script: |
      pip install pytest pytest-azurepipelines
      pytest
    displayName: 'pytest'

Personalize o azure-pipelines.yml para corresponder à configuração do seu projeto.

  1. Substitua o YAML gerado pelo código a seguir. Esse código instala a versão necessária do Python e as dependências, empacota o pacote Python em um arquivo zip publicado em seu pipeline e executa testes.
  2. Se você tiver um pool de agentes diferente, altere o parâmetro pool name .
  3. Altere a versão do Python para corresponder a uma versão instalada no seu agente auto-hospedado.
  trigger:
  - main

  pool: 
    name: '<your-pool-name or default>'

  steps:
  - task: UsePythonVersion@0
    inputs:
      versionSpec: '3.12'
    displayName: 'Use Python 3.12'  

  - script: |
      python -m pip install --upgrade pip
      pip install -r requirements.txt
    displayName: 'Install dependencies'


  - task: ArchiveFiles@2
    displayName: 'Archive files'
    inputs:
      rootFolderOrFile: $(System.DefaultWorkingDirectory)
      includeRootFolder: false
      archiveType: zip
      archiveFile: $(Build.ArtifactStagingDirectory)/$(Build.BuildId).zip
      replaceExistingArchive: true

  - task: PublishBuildArtifacts@1
    inputs:
      PathtoPublish: '$(Build.ArtifactStagingDirectory)'
      ArtifactName: 'drop'
      publishLocation: 'Container'

  - script: |
      pip install pytest pytest-azurepipelines
      pytest
    displayName: 'pytest'

4. Execute seu pipeline

Guarde e execute o pipeline.

  1. Selecione Guardar e executar.
  2. Na caixa de diálogo Salvar e executar, selecione Salvar e executar.
  3. Na guia Resumo, você pode ver o status da execução do pipeline.
  1. Selecione Executar.
  2. O número da compilação é exibido na parte superior da página. Selecione o número da compilação para ver os detalhes da compilação.

Captura de tela do link de construção do pipeline.

Captura de tela de trabalhos Python concluídos.

Para exibir seu artefato de compilação. selecione o link publicado na guia Resumo.

Captura de tela do link de artefatos de construção publicados.

A página Artefatos mostra os artefatos de construção publicados.

Captura de tela de artefatos de construção publicados.

Para visualizar os resultados do teste, selecione a guia Testes .

Captura de tela dos resultados do teste de pipeline.

A guia Resumo mostra o status da execução do pipeline.

Captura de tela do trabalho Python concluído.

Para exibir seu artefato de compilação, selecione o link publicado na guia Resumo .

Captura de tela do link de artefatos de construção publicados.

Para visualizar os resultados do teste, selecione a guia Testes .

Captura de tela dos resultados do teste de pipeline.

A guia Resumo mostra o status da execução do pipeline.

Captura de tela do trabalho Python concluído.

Para baixar seu artefato de compilação, selecione o link suspenso na seção Artefatos de compilação publicados .

Para visualizar os resultados do teste, selecione a guia Testes .

Captura de tela dos resultados do teste de pipeline.

Limpeza

Quando terminar este início rápido, você poderá excluir o projeto criado no Azure DevOps.

  1. Selecione o ícone de engrenagem Configurações do projeto no canto inferior esquerdo da página.
  2. Na parte inferior da página Visão geral do projeto, selecione Excluir.
  3. Digite o nome do projeto e selecione Excluir.

Parabéns, você completou com sucesso este início rápido!

Próximos passos