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 in mijn pijplijn moet ik deze taak uitvoeren?
- Wat moet ik doen als ik wil dat mijn pijplijnen kunnen worden opgeslagen vanuit upstream-bronnen?
- Mijn agent bevindt zich achter een webproxy. Wordt pipAuthenticate ingesteld voor het gebruik van mijn proxy?
- Mijn pijplijn moet toegang hebben tot een feed in een ander project
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 eventueelno_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
enno_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 |