Partilhar via


TwineAuthenticate@1 - Python twine upload autenticar tarefa v1

Use esta tarefa para autenticar uploads de distribuições Python usando o twine. Adicione -r FeedName/EndpointName --config-file $(PYPIRC_PATH) ao comando twine upload. Para feeds presentes nesta organização, use o nome do feed como o repositório (-r). Caso contrário, use o nome do ponto de extremidade definido na conexão de serviço.

Sintaxe

# Python twine upload authenticate v1
# Authenticate for uploading Python distributions using twine. Add '-r FeedName/EndpointName --config-file $(PYPIRC_PATH)' to your twine upload command. For feeds present in this organization, use the feed name as the repository (-r). Otherwise, use the endpoint name defined in the service connection.
- task: TwineAuthenticate@1
  inputs:
  # Feeds and Authentication
    #artifactFeed: # string. My feed name (select below). 
    #pythonUploadServiceConnection: # string. Feed from external organizations.
# Python twine upload authenticate v1
# Authenticate for uploading Python distributions using twine. Add '-r FeedName/EndpointName --config-file $(PYPIRC_PATH)' to your twine upload command. For feeds present in this organization, use the feed name as the repository (-r). Otherwise, use the endpoint name defined in the service connection.
- task: TwineAuthenticate@1
  inputs:
  # Feeds and Authentication
    #artifactFeed: # string. My feed (select below). 
    #pythonUploadServiceConnection: # string. Feed from external organizations.

Insumos

artifactFeed - Nome do meu feed (selecione abaixo)
string.

Especifica o nome do feed do artefato do Azure para autenticar com o fio. O feed de autenticação deve estar presente na organização. Para feeds com escopo de projeto, use a sintaxe projectName/feedNameSelect.


artifactFeed - Meu feed (selecione abaixo)
string.

Especifica o nome do feed do artefato do Azure para autenticar com o fio. O feed de autenticação deve estar presente na organização. Para feeds com escopo de projeto, use a sintaxe projectName/feedNameSelect.


pythonUploadServiceConnection - Feed de organizações externas
string.

Uma conexão de serviço de fio nome de uma organização externa para autenticar com o fio. As credenciais armazenadas no ponto de extremidade devem ter permissões de carregamento de pacote.


Opções de controlo de tarefas

Todas as tarefas têm opções de controle, além de suas entradas de tarefas. Para obter mais informações, consulte Opções de controle de e propriedades de tarefas comuns.

Variáveis de saída

Nenhum.

Observações

Fornece credenciais twine para uma variável de ambiente PYPIRC_PATH para o escopo da compilação. Isso permite que você publique pacotes Python em feeds com twine de sua compilação.

Quando devo executar esta tarefa no meu pipeline?

Essa tarefa deve ser executada antes de usar o twine para carregar distribuições Python em uma fonte de pacote autenticada, como Artefatos do Azure. Não existem outros requisitos de encomenda. Várias invocações desta tarefa não empilharão credenciais. Cada tarefa executada apagará todas as credenciais armazenadas anteriormente.

Meu agente está por trás de um proxy da web. O TwineAuthenticate configurará o fio para usar meu proxy?

Não. Embora essa tarefa em si funcione atrás de um proxy da Web que seu agente tenha sido configurado para usar, ele não configura o twine para usar o proxy.

Meu pipeline precisa acessar um feed em um projeto diferente

Se o pipeline estiver sendo executado em um projeto diferente do projeto que hospeda o feed, você deverá configurar o outro projeto para conceder acesso de leitura/gravação ao serviço de compilação. Consulte permissões de pacote no de Pipelines do Azure para obter mais detalhes.

Exemplos

Os exemplos a seguir demonstram como publicar a distribuição python no feed de Artefatos do Azure e no registro python oficial.

Publicar distribuição Python no feed de Artefatos do Azure

Neste exemplo, estamos definindo a autenticação para publicação em um Feed de Artefatos do Azure privado. A tarefa de autenticação cria um arquivo de .pypirc que contém as credenciais de autenticação necessárias para publicar uma distribuição no feed.

# Install python distributions like wheel, twine etc
- script: |
     pip install wheel
     pip install twine
  
# Build the python distribution from source
- script: |
     python setup.py bdist_wheel
   
- task: TwineAuthenticate@1
  displayName: Twine Authenticate
  inputs:
    # In this case, name of the feed is 'myTestFeed' in the project 'myTestProject'. Project is needed because the feed is project scoped.
    artifactFeed: myTestProject/myTestFeed
  
# Use command line script to 'twine upload', use -r to pass the repository name and --config-file to pass the environment variable set by the authenticate task.
- script: |
     python -m twine upload -r myTestFeed --config-file $(PYPIRC_PATH) dist/*.whl

A entrada artifactFeed conterá o projeto e o nome do feed se o feed tiver o escopo do projeto. Se o feed tiver o escopo da organização, somente o nome do feed deverá ser fornecido. Mais informações.

Publicar a distribuição Python no registro oficial do Python

Neste exemplo, estamos configurando a autenticação para publicação no registro oficial do Python. Crie uma conexão de de serviço de fio entrada para pypi. A tarefa de autenticação usa essa conexão de serviço para criar um arquivo de .pypirc que contém as credenciais de autenticação necessárias para publicar a distribuição.

# Install python distributions like wheel, twine etc
- script: |
     pip install wheel
     pip install twine
  
# Build the python distribution from source
- script: |
     python setup.py bdist_wheel
   
- task: TwineAuthenticate@1
  displayName: Twine Authenticate
  inputs:
    # In this case, name of the service connection is "pypitest".
    pythonUploadServiceConnection: pypitest
  
# Use command line script to 'twine upload', use -r to pass the repository name and --config-file to pass the environment variable set by the authenticate task.
- script: |
     python -m twine upload -r "pypitest" --config-file $(PYPIRC_PATH) dist/*.whl

Requerimentos

Requisito Descrição
Tipos de pipeline YAML, Construção clássica, Versão clássica
Funciona em Agente, DeploymentGroup
Exigências Nenhum
Capacidades Esta tarefa não satisfaz quaisquer exigências para tarefas subsequentes no trabalho.
Restrições de comando Qualquer
Variáveis configuráveis Qualquer
Versão do agente 2.144.0 ou superior
Categoria de tarefa Embalagem
Requisito Descrição
Tipos de pipeline YAML, Construção clássica, Versão clássica
Funciona em Agente, DeploymentGroup
Exigências Nenhum
Capacidades Esta tarefa não satisfaz quaisquer exigências para tarefas subsequentes no trabalho.
Restrições de comando Qualquer
Variáveis configuráveis Qualquer
Versão do agente 2.120.0 ou superior
Categoria de tarefa Embalagem