Delen via


PipAuthenticate@1 - Python pip-verificatie v1-taak

Gebruik deze taak om verificatie te bieden voor de pip client die Python-distributies installeert.

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.

Invoerwaarden

artifactFeeds - Mijn feeds (selecteer hieronder)
string.

Hiermee geeft u de feeds te verifiëren als aanwezig in de organisatie.


pythonDownloadServiceConnections - Feeds van externe organisaties
string.

Hiermee geeft u een door komma's gescheiden lijst met namen van pip-serviceverbindingen van externe organisaties op om te verifiëren met pip.


onlyAddExtraIndex - Primaire index-URL niet instellen
boolean. Standaardwaarde: false.

Als deze taak is ingesteld op true, wordt er geen feed ingesteld als de primaire index-URL. Alle geconfigureerde feeds/eindpunten worden ingesteld als extra index-URL's.


Opties voor taakbeheer

Alle taken hebben naast de taakinvoer besturingsopties. Zie Besturingsopties en algemene taakeigenschappen voor meer informatie.

Uitvoervariabelen

Geen.

Opmerkingen

Biedt verificatie voor de pip client die wordt gebruikt voor het installeren van Python-distributies.

Wanneer moet ik deze taak uitvoeren in mijn pijplijn?

Deze taak moet worden uitgevoerd voordat u pip gebruikt om Python-distributies te downloaden naar een geverifieerde pakketbron, zoals Azure Artifacts. Er zijn geen andere volgordevereisten. Bij meerdere aanroepen van deze taak worden referenties niet gestapeld. Bij elke uitvoering van de taak worden alle eerder opgeslagen referenties gewist.

Mijn agent bevindt zich achter een webproxy. Stelt PipAuthenticate pip in voor het gebruik van mijn proxy?

Nee. Hoewel deze taak zelf werkt achter een webproxy die uw agent is geconfigureerd voor gebruik, wordt pip niet geconfigureerd voor het gebruik van de proxy.

Hiervoor kunt u het volgende doen:

  • Stel de omgevingsvariabelen http_proxyen https_proxy optioneel in no_proxy op uw proxy-instellingen. Zie de officiële richtlijnen van Pip voor meer informatie. Dit zijn veelgebruikte variabelen, die ook kunnen worden gebruikt door andere niet-Python-hulpprogramma's (bijvoorbeeld curl).

    Waarschuwing

    De http_proxy variabelen en no_proxy zijn hoofdlettergevoelig op Linux- en Mac-besturingssystemen en moeten kleine letters bevatten. Een poging om een Azure Pipelines-variabele te gebruiken om de omgevingsvariabele in te stellen, werkt niet, omdat deze wordt geconverteerd naar hoofdletters. Stel in plaats daarvan de omgevingsvariabelen in op de computer van de zelf-hostende agent en start de agent opnieuw.

  • Voeg de proxy-instellingen toe aan het pip-configuratiebestand met behulp van proxy de sleutel.
  • Gebruik de --proxy opdrachtregeloptie om een proxy op te geven in de vorm [user:passwd@]proxy.server:port.

Mijn pijplijn moet toegang hebben tot een feed in een ander project

Als de pijplijn wordt uitgevoerd in een ander project dan het project dat als host fungeert voor de feed, moet u het andere project instellen om lees-/schrijftoegang te verlenen tot de buildservice. Zie Pakketmachtigingen in Azure Pipelines voor meer informatie.

Voorbeelden

Python-distributies downloaden van Azure Artifacts-feeds zonder het officiële Python-register te raadplegen

In dit voorbeeld stellen we verificatie in voor het downloaden van persoonlijke Azure Artifacts-feeds. Met de verificatietaak worden omgevingsvariabelen PIP_INDEX_URL gemaakt die PIP_EXTRA_INDEX_URL vereist zijn om de distributies te downloaden. De taak stelt de variabelen in met verificatiereferenties die de taak genereert voor de opgegeven artefactfeeds. HelloTestPackage moet aanwezig zijn in of myTestFeed1myTestFeed2; anders mislukt de installatie.

Voor projectgerichte feeds die zich in een ander project bevinden dan waar de pijplijn wordt uitgevoerd, moet u het project en de feed handmatig toegang geven tot de buildservice van het pijplijnproject.

- 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

Raadpleeg het officiële Python-register en download vervolgens Python-distributies uit Azure Artifacts-feeds

In dit voorbeeld stellen we verificatie in voor het downloaden van een privé-Azure Artifacts-feed, maar pypi wordt eerst geraadpleegd. De verificatietaak maakt een omgevingsvariabele PIP_EXTRA_INDEX_URL, die verificatiereferenties bevat die vereist zijn om de distributies te downloaden. HelloTestPackage wordt alleen gedownload van de geverifieerde feeds als deze niet aanwezig is in pypi.

Voor projectgerichte feeds die zich in een ander project bevinden dan waar de pijplijn wordt uitgevoerd, moet u het project en de feed handmatig toegang geven tot de buildservice van het pijplijnproject.

- 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

Python-distributies downloaden van andere privé-Python-servers

In dit voorbeeld stellen we verificatie in voor het downloaden van een externe Python-distributieserver. Maak een pip-serviceverbindingsvermelding voor de externe service. De verificatietaak gebruikt de serviceverbinding om een omgevingsvariabele PIP_INDEX_URLte maken, die verificatiereferenties bevat die vereist zijn om de distributies te downloaden. HelloTestPackage moet aanwezig zijn in de serviceverbinding; anders mislukt de pypitest installatie. Als u wilt dat pypi eerst wordt geraadpleegd, stelt u in onlyAddExtraIndex op 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

Vereisten

Vereiste Beschrijving
Pijplijntypen YAML, klassieke build, klassieke release
Wordt uitgevoerd op Agent, DeploymentGroup
Eisen Geen
Functies Deze taak voldoet niet aan eventuele vereisten voor volgende taken in de taak.
Opdrachtbeperkingen Alle
Instelbare variabelen Alle
Agentversie 2.144.0 of hoger
Taakcategorie Pakket
Vereiste Beschrijving
Pijplijntypen YAML, klassieke build, klassieke release
Wordt uitgevoerd op Agent, DeploymentGroup
Eisen Geen
Functies Deze taak voldoet niet aan eventuele vereisten voor volgende taken in de taak.
Opdrachtbeperkingen Alle
Instelbare variabelen Alle
Agentversie 2.120.0 of hoger
Taakcategorie Pakket