Criar aplicativos Python

Azure DevOps Services | 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 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 do Python. O Python é pré-instalado em agentes de build hospedados pela Microsoft para Linux, macOS ou Windows. Para ver quais versões do Python são pré-instaladas, confira Usar um agente hospedado pela Microsoft.

Pré-requisitos

1. Bifurcar o código de exemplo

Bifurque o repositório de amostra do Python para sua conta do GitHub.

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

2. Criar seu pipeline

  1. Acesse Azure Pipelines e selecione Começar gratuitamente. Quando solicitado, entre em sua conta do DevOps.

  2. Acesse seu projeto e selecione Pipelines>Criar pipeline.

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

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

  5. Quando a lista de repositórios for exibida, selecione o repositório de bifurcação de amostra.

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

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

  2. Acesse 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 ao GitHub para entrar, insira suas credenciais do GitHub.

  5. Quando a lista de repositórios for exibida, selecione o repositório de bifurcação de amostra.

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

3. Personalizar o pipeline

Substitua o conteúdo do arquivo azure-pipelines.yml gerado com o 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 do pool name.
  3. Altere a versão do Python para corresponder a uma versão instalada em 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. Executar o pipeline

Salve e execute o pipeline.

  1. Selecione Salvar 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 dela.

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 compilação publicados.

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

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

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

Captura de tela dos resultados de teste do pipeline.

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

Captura de tela do trabalho Python concluído.

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

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

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

Captura de tela dos resultados de teste do pipeline.

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

Captura de tela do trabalho Python concluído.

Para baixar o artefato de compilação, selecione o link soltar da sessão Artefatos de build publicados.

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

Captura de tela dos resultados de teste do pipeline.

Limpar

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. Insira o nome do projeto e escolha Excluir.

Parabéns, você concluiu com êxito este início rápido!

Próximas etapas