PipAuthenticate@1 - Tarefa de autenticação v1 de pip python

Utilize esta tarefa para fornecer autenticação ao pip cliente que instala distribuições python.

Syntax

# Python pip authenticate v1
# Authentication task for the pip client used for installing Python distributions.
- task: PipAuthenticate@1
  inputs:
  # Feeds and Authentication
    #artifactFeeds: # string. My feeds (select below). 
    #pythonDownloadServiceConnections: # string. Feeds from external organizations. 
    #onlyAddExtraIndex: false # boolean. Don't set primary index URL. Default: false.

Entradas

artifactFeeds - Os meus feeds (selecione abaixo)
string.

Especifica os feeds para autenticar como presente na organização.


pythonDownloadServiceConnections - Feeds de organizações externas
string.

Especifica uma lista separada por vírgula de nomes de ligação de serviço de pip de organizações externas para autenticar com pip.


onlyAddExtraIndex - Não desateia URL de índice primário
boolean. Valor predefinido: false.

Se esta tarefa estiver definida para true, nenhum feed será definido como o URL de índice primário. Todos os feeds/pontos finais configurados serão definidos como URLs de índice extra.


Opções de controlo de tarefas

Todas as tarefas têm opções de controlo para além das entradas de tarefa. Para obter mais informações, consulte opções de Controlo e propriedades de tarefas comuns.

Variáveis de saída

Nenhum.

Observações

Fornece autenticação para o pip cliente que é usado para instalar distribuições Python.

Quando é que eu devo executar esta tarefa?

Esta tarefa deve ser executada antes de utilizar o pip para baixar as distribuições python para uma fonte de pacote autenticada, como artefactos Azure. Não há outros requisitos de encomenda. Múltiplas invocações desta tarefa não empilharão credenciais. Cada execução da tarefa apagará quaisquer credenciais previamente armazenadas.

O meu agente está por detrás de um representante da web. PipAuthenticate vai preparar pip para usar o meu representante?

N.º Embora esta tarefa em si funcione por trás de um representante web que o seu agente foi configurado para usar, não configura pip para usar o proxy.

Para tal, pode:

  • Defina as variáveis ambientais http_proxy, https_proxy e opcionalmente no_proxy às definições de procuração. Consulte as diretrizes oficiais do Pip para mais detalhes. Estas são variáveis comumente utilizadas, que outras ferramentas não-Python (por exemplo, caracóis) também podem usar.

    Atenção

    As http_proxy variáveis e no_proxy variáveis são sensíveis aos sistemas operativos Linux e Mac e devem ser minúsculas. Tentar utilizar uma variável Azure Pipelines para definir a variável ambiente não funcionará, uma vez que será convertida em maiúscula. Em vez disso, coloque as variáveis ambientais na máquina do agente auto-hospedado e reinicie o agente.

  • Adicione as definições de procuração ao ficheiro pip config utilizando a proxy chave.
  • Utilize a opção --proxy de linha de comando para especificar o proxy no formulário [user:passwd@]proxy.server:port.

O meu Pipeline precisa de aceder a um feed num projeto diferente.

Se o oleoduto estiver a decorrer num projeto diferente do projeto que acolhe o feed, deve criar o outro projeto para conceder acesso à leitura/escrita ao serviço de construção. Consulte as permissões do Pacote em Azure Pipelines para mais detalhes.

Exemplos

Descarregue as distribuições de Python a partir de feeds de Artefactos Azure sem consultar o registo oficial de Python

Neste exemplo, estamos a configurar a autenticação para download a partir de feeds privados de Artefactos Azure. A tarefa de autenticação cria variáveis ambientais PIP_INDEX_URL e PIP_EXTRA_INDEX_URL que são necessárias para descarregar as distribuições. A tarefa define as variáveis com credenciais de autenticação que a tarefa gera para os feeds de Artefactos fornecidos. HelloTestPackage deve estar presente em qualquer um ou myTestFeed1myTestFeed2; caso contrário, a instalação falhará.

Para feeds de âmbito de projeto que estão em um projeto diferente do local onde o oleoduto está em execução, você deve dar manualmente ao projeto e ao feed acesso ao serviço de construção do projeto do oleoduto.

- task: PipAuthenticate@1
  displayName: 'Pip Authenticate'
  inputs:
    # Provide list of feed names which you want to authenticate.
    # Project scoped feeds must include the project name in addition to the feed name.
    artifactFeeds: 'project1/myTestFeed1, myTestFeed2'

# Use command line tool to 'pip install'.
- script: |
    pip install HelloTestPackage

Consulte o registo oficial de Python e, em seguida, baixe as distribuições python a partir de feeds de artefactos Azure

Neste exemplo, estamos a configurar a autenticação para download a partir de um feed privado de Artefactos Azure, mas o pypi é consultado primeiro. A tarefa autenticada cria uma variável PIP_EXTRA_INDEX_URLambiental, que contém credenciais de auth necessárias para descarregar as distribuições. HelloTestPackage só serão descarregados a partir dos feeds autenticados se não estiver presente no pypi.

Para feeds de âmbito de projeto que estão em um projeto diferente do local onde o oleoduto está em execução, você deve dar manualmente ao projeto e ao feed acesso ao serviço de construção do projeto do oleoduto.

- task: PipAuthenticate@1
  displayName: 'Pip Authenticate'
  inputs:
    # Provide list of feed names which you want to authenticate.
    # Project scoped feeds must include the project name in addition to the feed name.
    artifactFeeds: 'project1/myTestFeed1, myTestFeed2'
    # Setting this variable to "true" will force pip to get distributions from official python registry first and fallback to feeds mentioned above if distributions are not found there.
    onlyAddExtraIndex: true

# Use command line tool to 'pip install'.
- script: |
    pip install HelloTestPackage

Descarregue as distribuições de Python de outros servidores privados python

Neste exemplo, estamos a configurar a autenticação para download a partir de um servidor de distribuição python externo. Crie uma entrada de ligação de serviço pip para o serviço externo. A tarefa autenticada utiliza a ligação de serviço para criar uma variável PIP_INDEX_URLambiente , que contém credenciais auth necessárias para descarregar as distribuições. HelloTestPackage tem de estar presente na ligação de serviço; caso contrário, a pypitest instalação falhará. Se quiser que o pypi seja consultado primeiro, desatado onlyAddExtraIndex para true.

- task: PipAuthenticate@1
  displayName: 'Pip Authenticate'
  inputs:
    # In this case, name of the service connection is "pypitest". 
    pythonDownloadServiceConnections: pypitest

# Use command line tool to 'pip install'.
- script: |
    pip install HelloTestPackage

Requisitos

Requisito Description
Tipos de gasodutos YAML, Construção clássica, lançamento clássico
Continua Agente, Grupo de Implementação
Exigências Nenhuma
Capacidades Esta tarefa não satisfaz quaisquer pedidos para tarefas subsequentes no trabalho.
Restrições de comando Qualquer
Variáveis de configuração Qualquer
Versão do agente 2.144.0 ou maior
Categoria da tarefa Pacote
Requisito Description
Tipos de gasodutos YAML, Construção clássica, lançamento clássico
Continua Agente, Grupo de Implementação
Exigências Nenhuma
Capacidades Esta tarefa não satisfaz quaisquer pedidos para tarefas subsequentes no trabalho.
Restrições de comando Qualquer
Variáveis de configuração Qualquer
Versão do agente 2.120.0 ou maior
Categoria da tarefa Pacote