Partilhar via


Publicar pacotes Python com o Azure Pipelines

Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019

O Azure Pipelines permite que os desenvolvedores publiquem pacotes Python em feeds de Artefatos do Azure e registros públicos, como o PyPi. Este artigo irá guiá-lo através de como publicar pacotes Python no seu feed de Artefatos do Azure.

Pré-requisitos

  • Uma organização e um projeto do Azure DevOps. Crie uma organização ou um projeto , caso ainda não o tenha feito.

  • Um feed de Artefatos do Azure. Crie um feed se ainda não tiver um.

Autenticar com um feed

Para publicar pacotes Python usando o twine, você deve primeiro autenticar com seu feed de Artefatos do Azure. A tarefa TwineAuthenticate fornece credenciais de fio para uma variável de PYPIRC_PATH ambiente. Essa variável é então usada portwine para publicar pacotes diretamente do seu pipeline.

Importante

As credenciais armazenadas na variável de ambiente PYPIRC_PATH têm precedência sobre as dos arquivos .ini e .conf.

Se adicionar várias tarefas TwineAuthenticate em diferentes estágios do seu pipeline, cada execução de tarefa estenderá (não substituirá) a variável de ambiente PYPIRC_PATH existente.

  1. Entre em sua organização do Azure DevOps e navegue até seu projeto.

  2. Selecione Pipelinese, em seguida, selecione sua definição de pipeline.

  3. Selecione Editare, em seguida, adicione o seguinte trecho ao seu pipeline YAML.

    steps:
    - task: UsePythonVersion@0
      displayName: 'Use Python 3.x'
    
    - task: TwineAuthenticate@1
      inputs:
        artifactFeed: <PROJECT_NAME/FEED_NAME>     ## For an organization-scoped feed, use: artifactFeed: <FEED_NAME>
    

Publicar pacotes Python em um feed

Nota

Para publicar os seus pacotes em um feed usando o Azure Pipelines, certifique-se de que tanto o Serviço de Compilação da Coleção de Projetos quanto as identidades do Serviço de Compilação do seu projeto recebam a função de Editor de Feed (Colaborador) nas configurações do seu feed. Consulte Gerenciar permissões para obter detalhes.

  1. Entre em sua organização do Azure DevOps e navegue até seu projeto.

  2. Selecione Pipelinese, em seguida, selecione sua definição de pipeline.

  3. Selecione Editare, em seguida, adicione o seguinte trecho ao seu pipeline YAML.

    steps:
    - task: UsePythonVersion@0
      displayName: 'Use Python 3.x'
    
    - 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>                ## For an organization-scoped feed, use: artifactFeed: <FEED_NAME>
      displayName: 'Twine Authenticate'
    
    - script: |
        python -m twine upload -r <FEED_NAME> --config-file $(PYPIRC_PATH) dist/*.whl
      displayName: 'Upload to feed'