Partilhar via


PipAuthenticate@1 - Python PIP autenticar a tarefa v1

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

Sintaxe

# Python pip authenticate v1
# Authentication task for the pip client used for installing Python distributions.
- task: PipAuthenticate@1
  inputs:
  # Feeds and Authentication
    #azureDevOpsServiceConnection: # string. Alias: workloadIdentityServiceConnection. 'Azure DevOps' Service Connection. 
    #feedUrl: # string. Azure Artifacts Feeds url. 
    #artifactFeeds: # string. My feeds (select below). 
    #pythonDownloadServiceConnections: # string. Feeds from external organizations. 
    #onlyAddExtraIndex: false # boolean. Don't set primary index URL. Default: false.
# 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.

Insumos

azureDevOpsServiceConnection - 'Azure DevOps' Ligação ao Serviço
Alias de entrada: workloadIdentityServiceConnection. string.

Se isto estiver definido, feedUrl é obrigatório. Todas as outras entradas são ignoradas.


feedUrl - Artefactos do Azure Feed URL
string.

Se isto estiver definido, workloadIdentityServiceConnection é obrigatório. Todas as outras entradas são ignoradas. Não é compatível com pythonDownloadServiceConnections.


artifactFeeds - Meus feeds (selecione abaixo)
string.

Especifica uma lista separada por vírgulas de feeds do Artefactos do Azure para autenticar com pip.


pythonDownloadServiceConnections - Feeds de organizações externas
string.

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


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

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


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

Nenhuma.

Comentários

Fornece autenticação para o cliente pip utilizado para instalar distribuições Python.

Quando devo executar esta tarefa no meu pipeline?

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

E se eu quiser que meus pipelines possam salvar de fontes upstream?

Verifique a tabela de permissões para determinar quais permissões você deseja que seu pipeline tenha. Em seguida, determine a qual identidade você deseja conceder essas permissões. Para salvar pacotes de fontes upstream, sua identidade precisa de Feed and Upstream Reader (Collaborator) permissões.

Meu agente está por trás de um proxy da web. O PipAuthenticate configurará o pip 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 pip para usar o proxy.

Para tal, pode:

  • Defina as variáveis de ambiente http_proxy, https_proxy e, opcionalmente, no_proxy às suas configurações de proxy. Consulte de diretrizes oficiais do Pip para obter detalhes. Estas são variáveis frequentemente usadas, que outras ferramentas não Python (por exemplo, curl) também podem usar.

    Atenção

    As variáveis http_proxy e no_proxy diferenciam maiúsculas de minúsculas nos sistemas operacionais Linux e Mac e devem ser minúsculas. Tentar usar uma variável do Azure Pipelines para definir a variável de ambiente não funcionará, pois será convertida para maiúsculas. Em vez disso, defina as variáveis de ambiente na máquina do agente auto-hospedado e reinicie o agente.

  • Adicione as configurações de proxy ao arquivo de configuração pip arquivo usando proxy chave.
  • Use a opção de linha de comando --proxy para especificar proxy no formato [user:passwd@]proxy.server:port.

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 Package em Azure Pipelines para mais detalhes.

Exemplos

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

Neste exemplo, estamos a definir a autenticação para download a partir de feeds privados do Artefactos do Azure. A tarefa de autenticação cria variáveis de ambiente PIP_INDEX_URL e PIP_EXTRA_INDEX_URL necessárias para baixar as distribuições. A tarefa define as variáveis com credenciais de autenticação que a tarefa gera para os feeds de Artefatos fornecidos. HelloTestPackage devem estar presentes em myTestFeed1 ou myTestFeed2; caso contrário, a instalação falhará.

Para feeds de escopo de projeto que estão em um projeto diferente de onde o pipeline está sendo executado, você deve conceder manualmente ao projeto e ao feed acesso ao serviço de compilação do projeto do pipeline.

- 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 do Python e depois descarregue distribuições Python dos feeds do Artefactos do Azure

Neste exemplo, estamos a definir autenticação para download de um feed privado de Artefactos do Azure, mas consulta-se primeiro pypi. A tarefa authenticate cria uma variável de ambiente PIP_EXTRA_INDEX_URL, que contém as credenciais de autenticação necessárias para baixar as distribuições. HelloTestPackage será baixado dos feeds autenticados somente se não estiver presente em pypi.

Para feeds de escopo de projeto que estão em um projeto diferente de onde o pipeline está sendo executado, você deve conceder manualmente ao projeto e ao feed acesso ao serviço de compilação do projeto do pipeline.

- 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 distribuições Python de outros servidores privados Python

Neste exemplo, estamos a definir autenticação para download a partir de um servidor externo de distribuição Python. Crie uma conexão de pip service entrada para o serviço externo. A tarefa authenticate usa a conexão de serviço para criar uma variável de ambiente PIP_INDEX_URL, que contém credenciais de autenticação necessárias para baixar as distribuições. HelloTestPackage tem de estar presente na ligação de serviço pypitest; caso contrário, a instalação falhará. Se você quiser que pypi sejam consultados primeiro, defina 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

Requerimentos

Exigência 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
Exigência 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