Compartilhar via


Publicar pacotes Python com o Azure Pipelines

Azure DevOps Services | Azure DevOps Server | Azure DevOps Server 2022

O Azure Pipelines permite que os desenvolvedores publiquem pacotes do Python em feeds do Azure Artifacts e registros públicos, como PyPi. Este artigo orientará você sobre como publicar pacotes do Python no 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 um feed

Para publicar pacotes do Python usando o twine, 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 é usadatwine para publicar pacotes diretamente do pipeline.

Importante

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

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

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

  2. Selecione Pipelines e selecione sua definição de pipeline.

  3. Selecione Editar e adicione o snippet a seguir ao pipeline do 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 do Python em um feed

Observação

Para publicar seus pacotes em um feed usando o Azure Pipelines, certifique-se de que o Serviço de Build da Coleção de Projetos e as identidades do Serviço de Build do projeto sejam atribuídos à função de Editor de Feed (Colaborador) nas configurações do feed. Consulte Gerenciar permissões para obter detalhes.

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

  2. Selecione Pipelines e selecione sua definição de pipeline.

  3. Selecione Editar e adicione o snippet a seguir ao pipeline do 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'