Dela via


PipAuthenticate@1 – Python pip-autentisera v1-uppgift

Använd den här uppgiften för att tillhandahålla autentisering för klienten pip som installerar Python-distributioner.

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.

Indata

artifactFeeds - Mina feeds (välj nedan)
string.

Anger vilka feeds som ska autentiseras som de finns i organisationen.


pythonDownloadServiceConnections - Feeds från externa organisationer
string.

Anger en kommaavgränsad lista över pip-tjänstanslutningsnamn från externa organisationer för att autentisera med pip.


onlyAddExtraIndex - Ange inte primär index-URL
boolean. Standardvärde: false.

Om den här aktiviteten är inställd på trueanges ingen feed som primär index-URL. Alla konfigurerade feeds/slutpunkter anges som extra index-URL:er.


Alternativ för aktivitetskontroll

Alla aktiviteter har kontrollalternativ utöver sina uppgiftsindata. Mer information finns i Kontrollalternativ och vanliga uppgiftsegenskaper.

Utdatavariabler

Inga.

Kommentarer

Tillhandahåller autentisering för klienten pip som används för att installera Python-distributioner.

När ska jag köra den här uppgiften i min pipeline?

Den här uppgiften måste köras innan du använder pip för att ladda ned Python-distributioner till en autentiserad paketkälla, till exempel Azure Artifacts. Det finns inga andra ordningskrav. Flera anrop för den här aktiviteten staplar inte autentiseringsuppgifter. Varje körning av uppgiften raderar alla tidigare lagrade autentiseringsuppgifter.

Min agent finns bakom en webbproxy. Kommer PipAuthenticate att konfigurera pip för att använda min proxy?

Nej. Även om den här uppgiften fungerar bakom en webbproxy som agenten har konfigurerats att använda, konfigureras inte pip för att använda proxyn.

För att göra det kan du:

  • Ange miljövariablerna http_proxyoch https_proxy eventuellt no_proxy till proxyinställningarna. Mer information finns i Pip officiella riktlinjer . Det här är vanliga variabler, som andra icke-Python-verktyg (t.ex. curl) också kan använda.

    Varning

    Variablerna http_proxy och no_proxy är skiftlägeskänsliga på Linux- och Mac-operativsystem och måste ha gemener. Försök att använda en Azure Pipelines-variabel för att ange miljövariabeln fungerar inte eftersom den konverteras till versaler. Ange i stället miljövariablerna på den lokalt installerade agentens dator och starta om agenten.

  • Lägg till proxyinställningarna i pip-konfigurationsfilen med hjälp av proxy nyckeln.
  • --proxy Använd kommandoradsalternativet för att ange proxy i formatet [user:passwd@]proxy.server:port.

Min pipeline måste komma åt en feed i ett annat projekt

Om pipelinen körs i ett annat projekt än det projekt som är värd för feeden måste du konfigurera det andra projektet för att bevilja läs-/skrivåtkomst till byggtjänsten. Mer information finns i Paketbehörigheter i Azure Pipelines .

Exempel

Ladda ned Python-distributioner från Azure Artifacts-feeds utan att konsultera det officiella Python-registret

I det här exemplet ställer vi in autentisering för nedladdning från privata Azure Artifacts-feeds. Autentiseringsuppgiften skapar miljövariabler PIP_INDEX_URL och PIP_EXTRA_INDEX_URL som krävs för att ladda ned distributionerna. Uppgiften anger variablerna med autentiseringsuppgifter som aktiviteten genererar för de angivna Artefaktflödena. HelloTestPackage måste finnas i antingen myTestFeed1 eller myTestFeed2. Annars misslyckas installationen.

För projektomfattande feeds som finns i ett annat projekt än där pipelinen körs måste du manuellt ge projektet och feedåtkomst till pipelinens projektversionstjänst.

- 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

Läs det officiella Python-registret och ladda sedan ned Python-distributioner från Azure Artifacts-feeds

I det här exemplet ställer vi in autentisering för nedladdning från en privat Azure Artifacts-feed, men pypi konsulteras först. Autentiseringsaktiviteten skapar en miljövariabel PIP_EXTRA_INDEX_URLsom innehåller autentiseringsuppgifter som krävs för att ladda ned distributionerna. HelloTestPackage laddas bara ned från autentiserade feeds om den inte finns i pypi.

För projektomfattande feeds som finns i ett annat projekt än där pipelinen körs måste du manuellt ge projektet och feedåtkomst till pipelinens projektversionstjänst.

- 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

Ladda ned Python-distributioner från andra privata Python-servrar

I det här exemplet ställer vi in autentisering för nedladdning från en extern Python-distributionsserver. Skapa en anslutningspost för pip-tjänsten för den externa tjänsten. Autentiseringsaktiviteten använder tjänstanslutningen för att skapa en miljövariabel PIP_INDEX_URL, som innehåller autentiseringsuppgifter som krävs för att ladda ned distributionerna. HelloTestPackage måste finnas i tjänstanslutningen pypitest . Annars misslyckas installationen. Om du vill att pypi ska konsulteras först anger du onlyAddExtraIndex till 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

Krav

Krav Beskrivning
Pipelinetyper YAML, klassisk version, klassisk version
Körs på Agent, DeploymentGroup
Krav Ingen
Funktioner Den här aktiviteten uppfyller inte några krav för efterföljande uppgifter i jobbet.
Kommandobegränsningar Valfri
Inställningsbara variabler Valfri
Agentversion 2.144.0 eller senare
Uppgiftskategori Paket
Krav Beskrivning
Pipelinetyper YAML, klassisk version, klassisk version
Körs på Agent, DeploymentGroup
Krav Ingen
Funktioner Den här aktiviteten uppfyller inte några krav för efterföljande uppgifter i jobbet.
Kommandobegränsningar Valfri
Inställningsbara variabler Valfri
Agentversion 2.120.0 eller senare
Uppgiftskategori Paket