Criar e publicar um aplicativo Python
Serviços de DevOps do Azure | Azure DevOps Server 2022 - Azure DevOps Server 2019
Neste início rápido, você cria um pipeline que cria e testa um aplicativo Python. Você vê como usar o Azure Pipelines para criar, testar e implantar aplicativos e scripts Python como parte de seu sistema de integração contínua e entrega contínua (CI/CD).
Pré-requisitos
- Uma conta do GitHub onde você pode criar um repositório. Crie uma conta no GitHub gratuitamente.
- Uma organização Azure DevOps. Crie um gratuitamente.
- Um projeto de DevOps do Azure. 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 está 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 estão pré-instaladas, consulte Usar um agente hospedado pela Microsoft.
- Uma conta do GitHub onde você pode criar um repositório. Crie uma conta no GitHub gratuitamente.
- Uma organização Azure DevOps. Crie um gratuitamente.
- Um projeto de DevOps do Azure. 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.
Fork o código de exemplo
Fork o repositório Python de exemplo para sua conta do GitHub.
- Vá para o repositório python-sample-vscode-flask-tutorial .
- Selecione Forquilha no canto superior direito da página.
- Selecione sua conta no GitHub. Por padrão, a bifurcação tem o mesmo nome que o repositório pai, mas você pode nomeá-la como algo 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.
Crie seu pipeline
- Em seu projeto do Azure DevOps, selecione Pipelines>Create Pipeline e, em seguida, selecione GitHub como o local do seu código-fonte.
- Na tela Selecione um repositório, selecione seu repositório de exemplo bifurcado.
- Na tela Configurar seu pipeline, selecione Pipeline inicial.
Personalizar o pipeline
Na tela Revisar seu pipeline YAML, substitua o conteúdo do arquivo de 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 constroem artefatos em um arquivo ZIP.
- Publica o arquivo no 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 pool
name
. - Se necessário, altere a versão do Python para 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'
Execute 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 seu artefato de compilação, selecione o link publicado na guia Resumo .
A página Artefatos mostra os artefatos de construção publicados.
A página Artefatos mostra os artefatos de construção publicados.
Para visualizar 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 da compilação.
A guia Resumo mostra o status da execução do pipeline.
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 .
Limpeza
Ao concluir este início rápido, você poderá excluir o projeto de DevOps do Azure que você criou.
- No 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.
- Digite o nome do projeto e selecione Excluir.
Parabéns, você criou e executou com sucesso um pipeline que criou e testou um aplicativo Python. Agora você pode usar o Azure Pipelines para criar, testar e implantar aplicativos e scripts Python como parte de seu sistema de integração contínua e entrega contínua (CI/CD).
Próximos passos
Use CI/CD para implantar um aplicativo Web Python no Serviço de Aplicativo do Azure.