Publicar pacotes Python com o Azure Pipelines
Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019
Por meio do Azure Pipelines, os desenvolvedores podem publicar pacotes do Python em feeds do Azure Artifacts, registros públicos ou armazená-los como artefatos de pipeline. Este artigo orientará você sobre como:
- Instalar os pré-requisitos
- Conectar-se a um feed do Azure Artifacts
- Publicar pacotes Python em um feed do Azure Artifacts
Pré-requisitos
Uma organização do Azure DevOps e um projeto. Crie uma organização ou um projeto , caso ainda não tenha feito isso.
Um feed do Azure Artifacts. Crie um feed se você ainda não tiver um.
Autenticar com o Azure Artifacts
Para usar o twine
para publicar seus pacotes do Python, primeiro você deve se autenticar com o feed do Azure Artifacts. A tarefa TwineAuthenticate fornece credenciais twine para uma variável de ambiente PYPIRC_PATH
. Essa variável é usada por twine
para facilitar a publicação de seus pacotes diretamente do pipeline.
- task: TwineAuthenticate@1
inputs:
artifactFeed: <PROJECT_NAME/FEED_NAME> ## For an organization-scoped feed, artifactFeed: <FEED_NAME>
Importante
As credenciais armazenadas na variável de ambiente PYPIRC_PATH
substituem as dos seus arquivos .ini
e .conf
.
Se você adicionar várias tarefas TwineAuthenticate em fases diferentes no pipeline, cada execução de tarefa adicional estenderá (não substituirá) a variável de ambiente existente PYPIRC_PATH
.
Publicar pacotes Python em um feed do Azure Artifacts
- script: |
pip install build
pip install twine
displayName: 'Install build and twine'
- script: |
python -m build -w
displayName: 'Python build'
- task: TwineAuthenticate@1
inputs:
artifactFeed: <PROJECT_NAME/FEED_NAME>
displayName: 'Twine Authenticate'
- script: |
python -m twine upload -r <FEED_NAME> --config-file $(PYPIRC_PATH) dist/*.whl
displayName: 'Upload to feed'
Observação
Para publicar seus pacotes em um feed usando o Azure Pipelines, o Serviço de Criação de Coleção de Projetos e as identidades do Serviço de Criação do projeto devem ter a função Publicador de Feed (Colaborador) atribuída em suas configurações de feed. Consulte Gerenciar permissões para obter detalhes.