Delen via


PipAuthenticate@1 - Python pip-verificatie v1-taak

Gebruik deze taak om verificatie te bieden voor de pip-client waarmee Python-distributies worden geïnstalleerd.

Syntaxis

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

Ingangen

artifactFeeds - Mijn feeds (selecteer hieronder)
string.

Hiermee geeft u een door komma's gescheiden lijst met Azure Artifacts-feeds op die moeten worden geverifieerd met pip.


pythonDownloadServiceConnections - Feeds van externe organisaties
string.

Hiermee geeft u een door komma's gescheiden lijst met pip-serviceverbinding namen van externe organisaties voor verificatie met pip.


onlyAddExtraIndex - De URL van de primaire index 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 besturingsopties naast hun taakinvoer. Zie Opties en algemene taakeigenschappenvoor 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 bestelvereisten. Bij meerdere aanroepen van deze taak worden referenties niet gestapeld. Bij elke uitvoering van de taak worden alle eerder opgeslagen referenties gewist.

Wat moet ik doen als ik wil dat mijn pijplijnen kunnen worden opgeslagen vanuit upstream-bronnen?

Controleer de tabel met machtigingen om te bepalen welke machtigingen uw pijplijn moet hebben. Bepaal vervolgens aan welke identiteit u deze machtigingen wilt verlenen. Als u pakketten uit upstream-bronnen wilt opslaan, heeft uw identiteit Feed and Upstream Reader (Collaborator) machtigingen nodig.

Mijn agent bevindt zich achter een webproxy. Wordt pipAuthenticate ingesteld voor het gebruik van mijn proxy?

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

Hiervoor kunt u het volgende doen:

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

    Voorzichtigheid

    De variabelen http_proxy en no_proxy zijn hoofdlettergevoelig op Linux- en Mac-besturingssystemen en moeten kleine letters bevatten. Het gebruik van een Azure Pipelines-variabele 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 op.

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

Mijn pijplijn moet toegang krijgen 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 aan de buildservice. Zie Pakketmachtigingen in Azure Pipelines voor meer informatie.

Voorbeelden

Python-distributies downloaden van Azure Artifacts-feeds zonder een officieel Python-register te raadplegen

In dit voorbeeld stellen we verificatie in voor het downloaden van privé-Azure Artifacts-feeds. De verificatietaak maakt omgevingsvariabelen PIP_INDEX_URL en PIP_EXTRA_INDEX_URL die nodig zijn om de distributies te downloaden. Met de taak worden de variabelen ingesteld met verificatiereferenties die de taak genereert voor de opgegeven artefactenfeeds. HelloTestPackage moet aanwezig zijn in myTestFeed1 of myTestFeed2; anders mislukt de installatie.

Voor feeds met projectbereik 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 project van de pijplijn.

- 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 van Azure Artifacts-feeds

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

Voor feeds met projectbereik 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 project van de pijplijn.

- 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-serviceverbinding vermelding voor de externe service. De verificatietaak maakt gebruik van de serviceverbinding om een omgevingsvariabele te maken PIP_INDEX_URL, die verificatiereferenties bevat die nodig zijn om de distributies te downloaden. HelloTestPackage moet aanwezig zijn in de pypitest-serviceverbinding; anders mislukt de installatie. Als u pypi- eerst wilt raadplegen, stelt u onlyAddExtraIndex in 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

Eisen

Eis Beschrijving
Pijplijntypen YAML, klassieke build, klassieke release
Wordt uitgevoerd op Agent, DeploymentGroup
eisen Geen
mogelijkheden Deze taak voldoet niet aan de vereisten voor volgende taken in de taak.
opdrachtbeperkingen Enig
variabelen instellen Enig
Agentversie 2.144.0 of hoger
Taakcategorie Pak
Eis Beschrijving
Pijplijntypen YAML, klassieke build, klassieke release
Wordt uitgevoerd op Agent, DeploymentGroup
eisen Geen
mogelijkheden Deze taak voldoet niet aan de vereisten voor volgende taken in de taak.
opdrachtbeperkingen Enig
variabelen instellen Enig
Agentversie 2.120.0 of hoger
Taakcategorie Pak