Criar e publicar um aplicativo Python
Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019
Neste início rápido, você cria um pipeline que compila e testa um aplicativo Python. Você verá como usar o Azure Pipelines para criar, testar e implantar aplicativos e scripts Python como parte do sistema de CI/CD (integração contínua e entrega contínua).
Pré-requisitos
- Uma conta do GitHub, na qual você pode criar um repositório. Crie uma conta no GitHub gratuitamente.
- Uma organização do Azure DevOps. Crie um gratuitamente.
- Um projeto do Azure DevOps. Crie um usando o Assistente de Criação de Projeto do Azure DevOps.
- A capacidade de executar pipelines em agentes hospedados pela Microsoft. Você precisa solicitar a concessão gratuita de empregos paralelos ou comprar um trabalho paralelo.
O Python é pré-instalado em agentes hospedados pela Microsoft para Linux, macOS e Windows. Você não precisa configurar mais nada para construir projetos Python. Para ver quais versões do Python são pré-instaladas, confira Usar um agente hospedado pela Microsoft.
- Uma conta do GitHub, na qual você pode criar um repositório. Crie uma conta no GitHub gratuitamente.
- Uma organização do Azure DevOps. Crie um gratuitamente.
- Um projeto do Azure DevOps. Crie um usando o Assistente de Criação de Projeto do Azure DevOps.
- Um agente auto-hospedado. Para criar um, consulte Agentes auto-hospedados.
- Python instalado em seu agente auto-hospedado. Para instalar o Python em seu agente, consulte UsePythonVersion.
Bifurcar o código de exemplo
Bifurque o repositório de amostra do Python para sua conta do GitHub.
- Vá para o repositório python-sample-vscode-flask-tutorial.
- Selecione Bifurcar no canto superior direito da página.
- Selecione sua conta do GitHub. Por padrão, a bifurcação tem o mesmo nome do repositório pai, mas você pode nomeá-la de forma diferente.
Importante
Durante os procedimentos a seguir, você pode ser solicitado a criar uma conexão de serviço do GitHub ou redirecionado para o GitHub para entrar, instalar o Azure Pipelines ou autorizar o Azure Pipelines. Siga as instruções na tela para concluir o processo. Para obter mais informações, consulte Acesso a repositórios do GitHub.
Criar o pipeline
- No projeto do Azure DevOps, selecione Pipelines>Create Pipeline e, em seguida, selecione GitHub como o local do código-fonte.
- Na tela Selecionar um repositório , selecione o repositório de amostra bifurcado.
- Na página Configurar seu pipeline, selecione Pipeline inicial.
Personalizar o pipeline
Na tela Examinar o YAML do pipeline, substitua o conteúdo do arquivo azure-pipelines.yml gerado pelo código a seguir. O código:
- Instala as versões e dependências necessárias do Python.
- Os pacotes criam artefatos em um arquivo ZIP.
- Publica o arquivo morto em seu pipeline.
- 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 azure-pipelines.yml para corresponder à configuração do seu projeto.
- Se você tiver um pool de agentes diferente, altere o parâmetro
name
do pool. - Se necessário, altere a versão do Python para 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'
Executar seu pipeline
Selecione Salvar e executar e, em seguida, selecione Salvar e executar novamente.
A guia Resumo mostra o status da execução do pipeline.
Para exibir o artefato de compilação, selecione o link publicado na guia Resumo.
A página Artefatos mostra os artefatos de compilação publicados.
A página Artefatos mostra os artefatos de compilação publicados.
Para ver os resultados do teste, selecione a guia Testes.
Selecione Executar.
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.
A guia Resumo mostra o status da execução do pipeline.
Para baixar o artefato de compilação, selecione o link soltar na sessão Artefatos de build publicados.
Para ver os resultados do teste, selecione a guia Testes.
Limpar
Ao concluir este início rápido, você poderá excluir o projeto do Azure DevOps que você criou.
- Em seu projeto, selecione o ícone de engrenagem Configurações do projeto no canto inferior esquerdo da página.
- Na parte inferior da página Visão geral do projeto, selecione Excluir.
- Insira o nome do projeto e selecione Excluir.
Parabéns, você criou e executou com êxito um pipeline que criou e testou um aplicativo Python. Agora você pode usar o Azure Pipelines para criar, testar e implantar aplicativos e scripts do Python como parte de seu sistema de CI/CD (integração contínua e entrega contínua).