Condividi tramite


PipAuthenticate@1 - Attività Autenticazione pip di Python v1

Usare questa attività per fornire l'autenticazione per il client pip che installa le distribuzioni Python.

Sintassi

# 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.

Ingressi

artifactFeeds - Feed personali (selezionare di seguito)
string.

Specifica un elenco delimitato da virgole di feed di Azure Artifacts per l'autenticazione con pip.


feed pythonDownloadServiceConnections - da organizzazioni esterne
string.

Specifica un elenco delimitato da virgole di connessione al servizio pip nomi di organizzazioni esterne per l'autenticazione con pip.


onlyAddExtraIndex - Non impostare l'URL dell'indice primario
boolean. Valore predefinito: false.

Se questa attività è impostata su true, non verrà impostato alcun feed come URL dell'indice primario. Tutti i feed/endpoint configurati verranno impostati come URL di indice aggiuntivi.


Opzioni di controllo attività

Tutte le attività hanno opzioni di controllo oltre ai relativi input di attività. Per altre informazioni, vedere Opzioni di controllo e proprietà comuni delle attività.

Variabili di output

Nessuno.

Osservazioni

Fornisce l'autenticazione per il client pip usato per installare le distribuzioni Python.

Quando nella pipeline è necessario eseguire questa attività?

Questa attività deve essere eseguita prima di usare pip per scaricare le distribuzioni Python in un'origine del pacchetto autenticata, ad esempio Azure Artifacts. Non esistono altri requisiti di ordinamento. Le chiamate multiple di questa attività non verranno sovrapposte alle credenziali. Ogni esecuzione dell'attività cancellerà tutte le credenziali archiviate in precedenza.

Cosa accade se si vuole che le pipeline siano in grado di salvare da origini upstream?

Controllare la tabella delle autorizzazioni per determinare le autorizzazioni necessarie per la pipeline. Determinare quindi a quale 'identità si desidera concedere tali autorizzazioni. Per salvare i pacchetti da origini upstream, l'identità deve Feed and Upstream Reader (Collaborator) autorizzazioni.

L'agente si trova dietro un proxy Web. PipAuthenticate configura pip per l'uso del proxy?

No. Anche se questa attività funzionerà dietro un proxy Web l'agente è stato configurato per l'uso di, non configura pip per l'uso del proxy.

A tale scopo, è possibile:

  • Impostare le variabili di ambiente http_proxy, https_proxy e facoltativamente no_proxy sulle impostazioni proxy. Per informazioni dettagliate, vedere linee guida ufficiali Pip. Si tratta di variabili comunemente usate, che possono essere usate anche da altri strumenti non Python (ad esempio curl).

    Cautela

    Le variabili http_proxy e no_proxy fanno distinzione tra maiuscole e minuscole nei sistemi operativi Linux e Mac e devono essere minuscole. Il tentativo di usare una variabile di Azure Pipelines per impostare la variabile di ambiente non funzionerà, perché verrà convertito in maiuscolo. Impostare invece le variabili di ambiente nel computer dell'agente self-hosted e riavviare l'agente.

  • Aggiungere le impostazioni proxy al file di configurazione pip file di configurazione usando proxy chiave.
  • Usare l'opzione della riga di comando --proxy per specificare il proxy nel modulo [user:passwd@]proxy.server:port.

La pipeline deve accedere a un feed in un progetto diverso

Se la pipeline è in esecuzione in un progetto diverso da quello che ospita il feed, è necessario configurare l'altro progetto per concedere l'accesso in lettura/scrittura al servizio di compilazione. Per altri dettagli, vedere autorizzazioni del pacchetto in Azure Pipelines.

Esempi

Scaricare le distribuzioni Python dai feed di Azure Artifacts senza consultare il registro Ufficiale di Python

In questo esempio viene impostata l'autenticazione per il download da feed privati di Azure Artifacts. L'attività di autenticazione crea variabili di ambiente PIP_INDEX_URL e PIP_EXTRA_INDEX_URL necessarie per scaricare le distribuzioni. L'attività imposta le variabili con le credenziali di autenticazione generate dall'attività per i feed Artifacts forniti. HelloTestPackage deve essere presente in myTestFeed1 o myTestFeed2; in caso contrario, l'installazione avrà esito negativo.

Per i feed con ambito progetto che si trovano in un progetto diverso da quello in cui è in esecuzione la pipeline, è necessario assegnare manualmente al progetto e al feed l'accesso al servizio di compilazione del progetto della 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

Consultare il registro Python ufficiale e quindi scaricare le distribuzioni Python dai feed di Azure Artifacts

In questo esempio viene impostata l'autenticazione per il download da un feed privato di Azure Artifacts, ma prima viene consultata pypi. L'attività di autenticazione crea una variabile di ambiente PIP_EXTRA_INDEX_URL, che contiene le credenziali di autenticazione necessarie per scaricare le distribuzioni. HelloTestPackage verranno scaricati dai feed autenticati solo se non è presente in pypi.

Per i feed con ambito progetto che si trovano in un progetto diverso da quello in cui è in esecuzione la pipeline, è necessario assegnare manualmente al progetto e al feed l'accesso al servizio di compilazione del progetto della 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

Scaricare le distribuzioni Python da altri server Python privati

In questo esempio viene impostata l'autenticazione per il download da un server di distribuzione Python esterno. Creare una connessione al servizio pip voce per il servizio esterno. L'attività di autenticazione usa la connessione al servizio per creare una variabile di ambiente PIP_INDEX_URL, che contiene le credenziali di autenticazione necessarie per scaricare le distribuzioni. HelloTestPackage deve essere presente nella connessione al servizio pypitest; in caso contrario, l'installazione avrà esito negativo. Se si vuole prima consultare pypi, impostare onlyAddExtraIndex su 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

Fabbisogno

Requisito Descrizione
Tipi di pipeline YAML, build classica, versione classica
Viene eseguito in Agente, DeploymentGroup
richieste Nessuno
funzionalità di Questa attività non soddisfa alcuna richiesta di attività successive nel processo.
restrizioni dei comandi Qualunque
variabili impostabili Qualunque
Versione dell'agente 2.144.0 o versione successiva
Categoria attività Pacco
Requisito Descrizione
Tipi di pipeline YAML, build classica, versione classica
Viene eseguito in Agente, DeploymentGroup
richieste Nessuno
funzionalità di Questa attività non soddisfa alcuna richiesta di attività successive nel processo.
restrizioni dei comandi Qualunque
variabili impostabili Qualunque
Versione dell'agente 2.120.0 o versione successiva
Categoria attività Pacco