PipAuthenticate@1 : Python pip authenticate v1 task
Verwenden Sie diese Aufgabe, um die Authentifizierung für den Client bereitzustellen, der pip
Python-Distributionen installiert.
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.
Eingaben
artifactFeeds
- Meine Feeds (wählen Sie unten aus)
string
.
Gibt die Feeds an, die in der Organisation als vorhanden authentifiziert werden sollen.
pythonDownloadServiceConnections
- Feeds von externen Organisationen
string
.
Gibt eine durch Trennzeichen getrennte Liste von Pip-Dienstverbindungsnamen von externen Organisationen an, die mit pip authentifiziert werden sollen.
onlyAddExtraIndex
- Legen Sie die URL des primären Indexes nicht fest.
boolean
. Standardwert. false
.
Wenn diese Aufgabe auf true
festgelegt ist, wird kein Feed als primäre Index-URL festgelegt. Alle konfigurierten Feeds/Endpunkte werden als zusätzliche Index-URLs festgelegt.
Aufgabensteuerungsoptionen
Alle Aufgaben verfügen zusätzlich zu den Aufgabeneingaben über Steuerungsoptionen. Weitere Informationen finden Sie unter Steuerungsoptionen und allgemeine Aufgabeneigenschaften.
Ausgabevariablen
Keine.
Hinweise
Stellt die Authentifizierung für den Client bereit, der pip
zum Installieren von Python-Verteilungen verwendet wird.
Wann sollte ich diese Aufgabe in meiner Pipeline ausführen?
Diese Aufgabe muss ausgeführt werden, bevor Sie pip zum Herunterladen von Python-Distributionen in eine authentifizierte Paketquelle wie Azure Artifacts verwenden. Es gibt keine weiteren Bestellanforderungen. Mehrere Aufrufe dieser Aufgabe stapeln keine Anmeldeinformationen. Bei jeder Ausführung der Aufgabe werden alle zuvor gespeicherten Anmeldeinformationen gelöscht.
Mein Agent befindet sich hinter einem Webproxy. Richtet PipAuthenticate pip für die Verwendung meines Proxys ein?
Nein. Obwohl diese Aufgabe selbst hinter einem Webproxy funktioniert, für den Ihr Agent verwendet wurde, konfiguriert sie pip nicht für die Verwendung des Proxys.
Dazu haben Sie folgende Möglichkeiten:
- Legen Sie die Umgebungsvariablen
http_proxy
https_proxy
und optionalno_proxy
auf Ihre Proxyeinstellungen fest. Weitere Informationen finden Sie in den offiziellen Richtlinien von Pip . Dies sind häufig verwendete Variablen, die auch andere Nicht-Python-Tools (z. B. curl) verwenden können.Achtung
Bei den
http_proxy
Variablen undno_proxy
wird auf Linux- und Mac-Betriebssystemen die Groß-/Kleinschreibung beachtet. Der Versuch, eine Azure Pipelines-Variable zum Festlegen der Umgebungsvariablen zu verwenden, funktioniert nicht, da sie in Großbuchstaben konvertiert wird. Legen Sie stattdessen die Umgebungsvariablen auf dem Computer des selbstgehosteten Agents fest, und starten Sie den Agent neu. - Fügen Sie die Proxyeinstellungen der pip-Konfigurationsdateidatei mithilfe des Schlüssels
proxy
hinzu. - Verwenden Sie die
--proxy
Befehlszeilenoption, um den Proxy im Format[user:passwd@]proxy.server:port
anzugeben.
Meine Pipeline muss auf einen Feed in einem anderen Projekt zugreifen
Wenn die Pipeline in einem anderen Projekt als dem Projekt ausgeführt wird, das den Feed hostet, müssen Sie das andere Projekt so einrichten, dass Lese-/Schreibzugriff auf den Builddienst gewährt wird. Weitere Informationen finden Sie unter Paketberechtigungen in Azure Pipelines .
Beispiele
Herunterladen von Python-Distributionen aus Azure Artifacts-Feeds ohne Rücksprache mit der offiziellen Python-Registrierung
In diesem Beispiel legen wir die Authentifizierung für das Herunterladen aus privaten Azure Artifacts-Feeds fest. Die Authentifizierungsaufgabe erstellt Umgebungsvariablen PIP_INDEX_URL
, PIP_EXTRA_INDEX_URL
die zum Herunterladen der Verteilungen erforderlich sind. Der Task legt die Variablen mit Authentifizierungsanmeldeinformationen fest, die der Task für die bereitgestellten Artefaktefeeds generiert. HelloTestPackage
muss in oder myTestFeed1
myTestFeed2
vorhanden sein. Andernfalls tritt bei der Installation ein Fehler auf.
Für projektbezogene Feeds, die sich in einem anderen Projekt befinden als in dem, in dem die Pipeline ausgeführt wird, müssen Sie dem Projekt und dem Feed manuell Zugriff auf den Builddienst des Pipelineprojekts gewähren.
- 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
Konsultieren Sie die offizielle Python-Registrierung, und laden Sie dann Python-Distributionen aus Azure Artifacts-Feeds herunter.
In diesem Beispiel legen wir die Authentifizierung für das Herunterladen aus einem privaten Azure Artifacts-Feed fest, aber pypi wird zuerst konsultiert. Der Authentifizierungstask erstellt eine Umgebungsvariable PIP_EXTRA_INDEX_URL
, die Authentifizierungsanmeldeinformationen enthält, die zum Herunterladen der Verteilungen erforderlich sind. HelloTestPackage
wird nur aus den authentifizierten Feeds heruntergeladen, wenn sie in pypi nicht vorhanden sind.
Für projektbezogene Feeds, die sich in einem anderen Projekt befinden als in dem, in dem die Pipeline ausgeführt wird, müssen Sie dem Projekt und dem Feed manuell Zugriff auf den Builddienst des Pipelineprojekts gewähren.
- 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
Herunterladen von Python-Distributionen von anderen privaten Python-Servern
In diesem Beispiel legen wir die Authentifizierung für das Herunterladen von einem externen Python-Verteilungsserver fest. Erstellen Sie einen Pip-Dienstverbindungseintrag für den externen Dienst. Der Authentifizierungstask verwendet die Dienstverbindung, um eine Umgebungsvariable PIP_INDEX_URL
zu erstellen, die Authentifizierungsanmeldeinformationen enthält, die zum Herunterladen der Verteilungen erforderlich sind. HelloTestPackage
muss in der Dienstverbindung vorhanden sein, andernfalls tritt bei der pypitest
Installation ein Fehler auf. Wenn Pypi zuerst konsultiert werden soll, legen Sie auf true
festonlyAddExtraIndex
.
- 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
Anforderungen
Anforderung | BESCHREIBUNG |
---|---|
Pipelinetypen | YAML, Klassischer Build, klassische Version |
Wird ausgeführt auf | Agent, DeploymentGroup |
Forderungen | Keine |
Capabilities | Diese Aufgabe erfüllt keine Anforderungen an nachfolgende Aufgaben im Auftrag. |
Befehlseinschränkungen | Any |
Einstellbare Variablen | Any |
Agent-Version | 2.144.0 oder höher |
Aufgabenkategorie | Paket |
Anforderung | BESCHREIBUNG |
---|---|
Pipelinetypen | YAML, Klassischer Build, klassische Version |
Wird ausgeführt auf | Agent, DeploymentGroup |
Forderungen | Keine |
Capabilities | Diese Aufgabe erfüllt keine Anforderungen an nachfolgende Aufgaben im Auftrag. |
Befehlseinschränkungen | Any |
Einstellbare Variablen | Any |
Agent-Version | 2.120.0 oder höher |
Aufgabenkategorie | Paket |
Feedback
https://aka.ms/ContentUserFeedback.
Bald verfügbar: Im Laufe des Jahres 2024 werden wir GitHub-Issues stufenweise als Feedbackmechanismus für Inhalte abbauen und durch ein neues Feedbacksystem ersetzen. Weitere Informationen finden Sie unterFeedback senden und anzeigen für