PipAuthenticate@1 – Python pip-autentisera v1-uppgift
Använd den här uppgiften för att tillhandahålla autentisering för den pip
-klienten 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.
Ingångar
artifactFeeds
-
Mina feeds (välj nedan)
string
.
Anger en kommaavgränsad lista över Azure Artifacts-feeds som ska autentiseras med pip.
pythonDownloadServiceConnections
-
feeds från externa organisationer
string
.
Anger en kommaavgränsad lista över pip-tjänstanslutning namn 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å true
anges 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
Ingen.
Anmärkningar
Tillhandahåller autentisering för den pip
klient som används för att installera Python-distributioner.
- När i min pipeline ska jag köra den här uppgiften?
- Vad händer om jag vill att mina pipelines ska kunna sparas från överordnade källor?
- Min agent finns bakom en webbproxy. Kommer PipAuthenticate att konfigurera pip för att använda min proxy?
- Min pipeline måste komma åt en feed i ett annat projekt
När i min pipeline ska jag köra den här uppgiften?
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 beställningskrav. Flera anrop för den här uppgiften staplar inte autentiseringsuppgifter. Varje körning av uppgiften raderar alla tidigare lagrade autentiseringsuppgifter.
Vad händer om jag vill att mina pipelines ska kunna sparas från överordnade källor?
Kontrollera tabellen behörigheter för att avgöra vilka behörigheter du vill att din pipeline ska ha. Bestäm sedan vilken identitet du vill ge dessa behörigheter till. För att spara paket från överordnade källor behöver din identitet Feed and Upstream Reader (Collaborator)
behörigheter.
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 i sig fungerar bakom en webbproxy så har agenten konfigurerats att använda, men den konfigurerar inte pip för att använda proxyn.
För att göra det kan du:
- Ange miljövariablerna
http_proxy
,https_proxy
och eventuelltno_proxy
till proxyinställningarna. Mer information finns i Pip officiella riktlinjer. Dessa är vanliga variabler, som andra icke-Python-verktyg (t.ex. curl) också kan använda.Försiktighet
Variablerna
http_proxy
ochno_proxy
är skiftlägeskänsliga på Linux- och Mac-operativsystem och måste vara 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 fil med hjälp av
proxy
nyckel. - Använd kommandoradsalternativet
--proxy
för att ange proxy i formuläret[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 flödet 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. Autentiseringsaktiviteten skapar miljövariabler PIP_INDEX_URL
och PIP_EXTRA_INDEX_URL
som krävs för att ladda ned distributionerna. Aktiviteten 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åtkomsten 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. Autentiseringsuppgiften skapar en miljövariabel PIP_EXTRA_INDEX_URL
, som innehåller autentiseringsuppgifter som krävs för att ladda ned distributionerna.
HelloTestPackage
laddas endast 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åtkomsten 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 pip-tjänstanslutning post för den externa tjänsten. Autentisera-aktiviteten 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 pypitest
-tjänstanslutningen. 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 |
kräver | Ingen |
funktioner | Den här aktiviteten uppfyller inte några krav på efterföljande uppgifter i jobbet. |
Kommandobegränsningar | Någon |
variabler som kan | Någon |
Agentversion | 2.144.0 eller senare |
Aktivitetskategori | Paket |
Krav | Beskrivning |
---|---|
Pipelinetyper | YAML, klassisk version, klassisk version |
Körs på | Agent, DeploymentGroup |
kräver | Ingen |
funktioner | Den här aktiviteten uppfyller inte några krav på efterföljande uppgifter i jobbet. |
Kommandobegränsningar | Någon |
variabler som kan | Någon |
Agentversion | 2.120.0 eller senare |
Aktivitetskategori | Paket |