PipAuthenticate@1 - Python pip authenticate v1 task
Verwenden Sie diese Aufgabe, um die Authentifizierung für den pip
-Client bereitzustellen, der Python-Verteilungen 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.
Eingänge
artifactFeeds
-
"Meine Feeds" (unten auswählen)
string
.
Gibt eine durch Trennzeichen getrennte Liste von Azure Artifacts-Feeds an, die bei pip authentifiziert werden sollen.
pythonDownloadServiceConnections
-
Feeds von externen Organisationen
string
.
Gibt eine durch Trennzeichen getrennte Liste der Pip-Dienstverbindung Namen von externen Organisationen an, die mit Pip authentifiziert werden sollen.
onlyAddExtraIndex
-
Primäre Index-URL nicht festlegen
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 ihren Aufgabeneingaben über Steuerungsoptionen. Weitere Informationen finden Sie unter Steuerelementoptionen und allgemeinen Aufgabeneigenschaften.
Ausgabevariablen
Nichts.
Bemerkungen
Stellt die Authentifizierung für den pip
-Client bereit, der zum Installieren von Python-Verteilungen verwendet wird.
- Wann sollte ich diese Aufgabe in meiner Pipeline ausführen?
- Was soll ich tun, wenn meine Pipelines aus vorgelagerten Quellen speichern können sollen?
- Mein Agent liegt hinter einem Webproxy. Wird PipAuthenticate pip für die Verwendung meines Proxys eingerichtet?
- "Meine Pipeline" muss auf einen Feed in einem anderen Projekt zugreifen
Wann sollte ich diese Aufgabe in meiner Pipeline ausführen?
Diese Aufgabe muss ausgeführt werden, bevor Sie pip verwenden, um Python-Verteilungen auf eine authentifizierte Paketquelle wie Azure Artifacts herunterzuladen. Es gibt keine weiteren Bestellanforderungen. Mehrere Aufrufe dieser Aufgabe stapeln keine Anmeldeinformationen. Jede Ausführung der Aufgabe löscht alle zuvor gespeicherten Anmeldeinformationen.
Was soll ich tun, wenn meine Pipelines in der Lage sein sollen, aus upstream-Quellen zu speichern?
Überprüfen Sie die Berechtigungstabelle, um zu bestimmen, welche Berechtigungen Ihre Pipeline besitzen soll. Bestimmen Sie dann, welche Identität Sie diese Berechtigungen erteilen möchten. Um Pakete aus upstream-Quellen zu speichern, benötigt Ihre Identität Feed and Upstream Reader (Collaborator)
Berechtigungen.
Mein Agent liegt hinter einem Webproxy. Wird PipAuthenticate pip für die Verwendung meines Proxys eingerichtet?
Nein. Während diese Aufgabe selbst hinter einem Webproxy funktioniert, den Ihr Agent für die Verwendungkonfiguriert hat, konfiguriert er keine Pip für die Verwendung des Proxys.
Dazu haben Sie folgende Möglichkeiten:
- Legen Sie die Umgebungsvariablen
http_proxy
,https_proxy
und optional auf Ihre Proxyeinstellungenno_proxy
fest. Einzelheiten finden Sie in offiziellen Richtlinien von Pip. Dies sind häufig verwendete Variablen, die auch andere Nicht-Python-Tools (z. B. Curl) verwenden können.Vorsicht
Bei den
http_proxy
- undno_proxy
Variablen wird die Groß-/Kleinschreibung auf Linux- und Mac-Betriebssystemen beachtet und muss Kleinbuchstaben sein. Der Versuch, eine Azure Pipelines-Variable zum Festlegen der Umgebungsvariable zu verwenden, funktioniert nicht, da sie in Großbuchstaben konvertiert wird. Legen Sie stattdessen die Umgebungsvariablen auf dem Computer des selbst gehosteten Agents fest, und starten Sie den Agent neu. - Fügen Sie die Proxyeinstellungen zur Pip-Konfigurationsdatei Datei mithilfe
proxy
Schlüssels hinzu. - Verwenden Sie die Befehlszeilenoption
--proxy
, um den Proxy im Formular[user:passwd@]proxy.server:port
anzugeben.
Meine Pipeline muss auf einen Feed in einem anderen Projekt zugreifen.
Wenn die Pipeline in einem anderen Projekt ausgeführt wird als das Projekt, das den Feed hostet, müssen Sie das andere Projekt einrichten, um Lese-/Schreibzugriff auf den Builddienst zu gewähren. Weitere Informationen finden Sie unter Paketberechtigungen in Azure Pipelines.
Beispiele
Herunterladen von Python-Distributionen aus Azure Artifacts-Feeds ohne Beratung offizielle Python-Registrierung
In diesem Beispiel wird die Authentifizierung zum Herunterladen aus privaten Azure Artifacts-Feeds festgelegt. Die Authentifizierungsaufgabe erstellt Umgebungsvariablen PIP_INDEX_URL
und PIP_EXTRA_INDEX_URL
, die zum Herunterladen der Verteilungen erforderlich sind. Die Aufgabe legt die Variablen mit Authentifizierungsanmeldeinformationen fest, die die Aufgabe für die bereitgestellten Artefaktefeeds generiert.
HelloTestPackage
müssen entweder in myTestFeed1
oder in myTestFeed2
vorhanden sein; andernfalls schlägt die Installation fehl.
Bei projektbezogenen Feeds, die sich in einem anderen Projekt befinden als bei der Ausführung der Pipeline, müssen Sie dem Projekt und dem Feed Zugriff auf den Builddienst des Pipelineprojekts manuell 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 offizielle Python-Registrierung, und laden Sie dann Python-Distributionen aus Azure Artifacts-Feeds herunter.
In diesem Beispiel wird die Authentifizierung zum Herunterladen aus einem privaten Azure Artifacts-Feed festgelegt, aber pypi zuerst konsultiert wird. Die Authentifizierungsaufgabe erstellt eine Umgebungsvariable PIP_EXTRA_INDEX_URL
, die Authentifizierungsanmeldeinformationen enthält, die zum Herunterladen der Verteilungen erforderlich sind.
HelloTestPackage
werden nur dann aus den authentifizierten Feeds heruntergeladen, wenn sie nicht in pypivorhanden ist.
Bei projektbezogenen Feeds, die sich in einem anderen Projekt befinden als bei der Ausführung der Pipeline, müssen Sie dem Projekt und dem Feed Zugriff auf den Builddienst des Pipelineprojekts manuell 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 wird die Authentifizierung zum Herunterladen von einem externen Python-Verteilungsserver festgelegt. Erstellen Sie eine Pip-Dienstverbindung Eintrag für den externen Dienst. Die Authentifizierungsaufgabe 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 pypitest
Dienstverbindung vorhanden sein; andernfalls schlägt die Installation fehl. Wenn Sie möchten, dass pypi zuerst konsultiert werden soll, legen Sie onlyAddExtraIndex
auf true
fest.
- 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, Classic Build, Classic Release |
Läuft auf | Agent, DeploymentGroup |
Anforderungen | Nichts |
Funktionen | Dieser Vorgang erfüllt keine Anforderungen für nachfolgende Vorgänge im Auftrag. |
Befehlseinschränkungen | Jegliche |
Settable-Variablen | Jegliche |
Agentversion | 2.144.0 oder höher |
Vorgangskategorie | Paket |
Anforderung | Beschreibung |
---|---|
Pipelinetypen | YAML, Classic Build, Classic Release |
Läuft auf | Agent, DeploymentGroup |
Anforderungen | Nichts |
Funktionen | Dieser Vorgang erfüllt keine Anforderungen für nachfolgende Vorgänge im Auftrag. |
Befehlseinschränkungen | Jegliche |
Settable-Variablen | Jegliche |
Agentversion | 2.120.0 oder höher |
Vorgangskategorie | Paket |