Condividi tramite


PipAuthenticate@1 - Attività Di autenticazione pip di Python v1

Usare questa attività per fornire l'autenticazione per il pip client 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.

Input

artifactFeeds - Feed personali (selezionare di seguito)
string.

Specifica i feed da autenticare come presenti nell'organizzazione.


pythonDownloadServiceConnections - Feed da organizzazioni esterne
string.

Specifica un elenco delimitato da virgole di nomi di connessione del servizio pip da 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, nessun feed verrà impostato 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 dell'attività. Per altre informazioni, vedere Opzioni di controllo e proprietà comuni delle attività.

Variabili di output

No.

Osservazioni

Fornisce l'autenticazione per il pip client 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.

L'agente è dietro un proxy Web. PipAuthenticate configurerà pip per l'uso del proxy?

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

A tale scopo, è possibile:

  • Impostare le variabili http_proxydi ambiente e, facoltativamenteno_proxy, https_proxy sulle impostazioni del 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).

    Attenzione

    Le http_proxy variabili 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 lettere maiuscole. 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 usando la proxy chiave.
  • Usare l'opzione della --proxy riga di comando per specificare il proxy nel formato [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 per i pacchetti in Azure Pipelines .

Esempio

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

In questo esempio viene impostata l'autenticazione per il download da feed privati di Azure Artifacts. L'attività di autenticazione crea variabili PIP_INDEX_URL di ambiente 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. HelloTestPackagedeve essere presente in o myTestFeed2; in myTestFeed1 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 di sistema 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 pypi viene prima consultata. L'attività di autenticazione crea una variabile PIP_EXTRA_INDEX_URLdi ambiente , che contiene le credenziali di autenticazione necessarie per scaricare le distribuzioni. HelloTestPackage verrà scaricato 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 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 voce di connessione al servizio pip per il servizio esterno. L'attività di autenticazione usa la connessione al servizio per creare una variabile PIP_INDEX_URLdi ambiente , che contiene le credenziali di autenticazione necessarie per scaricare le distribuzioni. HelloTestPackage deve essere presente nella connessione al servizio. In caso contrario, l'installazione pypitest avrà esito negativo. Se si vuole prima consultare pypi , impostare su onlyAddExtraIndextrue.

- 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

Requisiti

Requisito Descrizione
Tipi di pipeline YAML, build classica, versione classica
Viene eseguito in Agente, DeploymentGroup
Richieste Nessuno
Capabilities Questa attività non soddisfa le richieste per le attività successive nel processo.
Restrizioni dei comandi Qualsiasi
Variabili impostabili Qualsiasi
Versione agente 2.144.0 o versione successiva
Categoria attività Pacchetto
Requisito Descrizione
Tipi di pipeline YAML, build classica, versione classica
Viene eseguito in Agente, DeploymentGroup
Richieste Nessuno
Capabilities Questa attività non soddisfa le richieste per le attività successive nel processo.
Restrizioni dei comandi Qualsiasi
Variabili impostabili Qualsiasi
Versione agente 2.120.0 o versione successiva
Categoria attività Pacchetto