TwineAuthenticate@1: Aufgabe zum Hochladen der Authentifizierung v1 für Python-Zwillinge
Verwenden Sie diese Aufgabe, um Uploads von Python-Distributionen mithilfe von Twine zu authentifizieren. Fügen Sie -r FeedName/EndpointName --config-file $(PYPIRC_PATH)
ihrem Befehl zum Hochladen von Zwillingen hinzu. Verwenden Sie für Feeds, die in dieser Organisation vorhanden sind, den Feednamen als Repository (-r
). Verwenden Sie andernfalls den in der Dienstverbindung definierten Endpunktnamen.
Syntax
# Python twine upload authenticate v1
# Authenticate for uploading Python distributions using twine. Add '-r FeedName/EndpointName --config-file $(PYPIRC_PATH)' to your twine upload command. For feeds present in this organization, use the feed name as the repository (-r). Otherwise, use the endpoint name defined in the service connection.
- task: TwineAuthenticate@1
inputs:
# Feeds and Authentication
#artifactFeed: # string. My feed (select below).
#pythonUploadServiceConnection: # string. Feed from external organizations.
Eingaben
artifactFeed
- Mein Feed (wählen Sie unten aus)
string
.
Gibt den Feednamen des Azure-Artefakts an, der mit Twine authentifiziert werden soll. Der Authentifizierungsfeed muss innerhalb der Organisation vorhanden sein. Verwenden Sie für projektbezogene Feeds die Syntax projectName/feedNameSelect
.
pythonUploadServiceConnection
- Feed von externen Organisationen
string
.
Ein Name der Twine-Dienstverbindung von einer externen Organisation, die mit Twine authentifiziert werden soll. Die im Endpunkt gespeicherten Anmeldeinformationen müssen über Berechtigungen zum Hochladen von Paketen verfügen.
Aufgabensteuerungsoptionen
Alle Aufgaben verfügen zusätzlich zu ihren Aufgabeneingaben über Steuerungsoptionen. Weitere Informationen finden Sie unter Steuerungsoptionen und allgemeine Aufgabeneigenschaften.
Ausgabevariablen
Keine.
Hinweise
Stellt twine
Anmeldeinformationen für eine Umgebungsvariable PYPIRC_PATH
für den Bereich des Builds bereit. Auf diese Weise können Sie Python-Pakete für Feeds aus twine
Ihrem Build veröffentlichen.
Wann sollte ich diese Aufgabe in meiner Pipeline ausführen?
Diese Aufgabe muss ausgeführt werden, bevor Sie Python-Distributionen mithilfe von Twine in eine authentifizierte Paketquelle wie Azure Artifacts hochladen. Es gibt keine weiteren Bestellanforderungen. Mehrere Aufrufe dieser Aufgabe werden keine Anmeldeinformationen stapeln. Bei jeder Aufgabenausführung werden alle zuvor gespeicherten Anmeldeinformationen gelöscht.
Mein Agent befindet sich hinter einem Webproxy. Richtet TwineAuthenticate twine für die Verwendung meines Proxys ein?
Nein. Obwohl diese Aufgabe selbst hinter einem Webproxy funktioniert, für den Ihr Agent konfiguriert wurde, konfiguriert sie nicht twine für die Verwendung des Proxys.
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 einrichten, um Lese-/Schreibzugriff auf den Builddienst zu gewähren. Weitere Informationen finden Sie unter Paketberechtigungen in Azure Pipelines .
Beispiele
In den folgenden Beispielen wird veranschaulicht, wie Die Python-Verteilung im Azure Artifacts-Feed und in der offiziellen Python-Registrierung veröffentlicht wird.
Veröffentlichen der Python-Verteilung im Azure Artifacts-Feed
In diesem Beispiel legen wir die Authentifizierung für die Veröffentlichung in einem privaten Azure Artifacts-Feed fest. Die Authentifizierungsaufgabe erstellt eine .pypirc
Datei, die die Authentifizierungsanmeldeinformationen enthält, die zum Veröffentlichen einer Verteilung im Feed erforderlich sind.
# Install python distributions like wheel, twine etc
- script: |
pip install wheel
pip install twine
# Build the python distribution from source
- script: |
python setup.py bdist_wheel
- task: TwineAuthenticate@1
displayName: Twine Authenticate
inputs:
# In this case, name of the feed is 'myTestFeed' in the project 'myTestProject'. Project is needed because the feed is project scoped.
artifactFeed: myTestProject/myTestFeed
# Use command line script to 'twine upload', use -r to pass the repository name and --config-file to pass the environment variable set by the authenticate task.
- script: |
python -m twine upload -r myTestFeed --config-file $(PYPIRC_PATH) dist/*.whl
Die artifactFeed
Eingabe enthält das Projekt und den Feednamen, wenn der Feed im Projektbereich liegt. Wenn der Feed organisationsweit ist, muss nur der Feedname angegeben werden. Weitere Informationen
Veröffentlichen der Python-Verteilung in der offiziellen Python-Registrierung
In diesem Beispiel richten wir die Authentifizierung für die Veröffentlichung in der offiziellen Python-Registrierung ein. Erstellen Sie einen Twine-Dienstverbindungseintrag für pypi. Der Authentifizierungstask verwendet diese Dienstverbindung, um eine .pypirc
Datei zu erstellen, die die Authentifizierungsanmeldeinformationen enthält, die zum Veröffentlichen der Verteilung erforderlich sind.
# Install python distributions like wheel, twine etc
- script: |
pip install wheel
pip install twine
# Build the python distribution from source
- script: |
python setup.py bdist_wheel
- task: TwineAuthenticate@1
displayName: Twine Authenticate
inputs:
# In this case, name of the service connection is "pypitest".
pythonUploadServiceConnection: pypitest
# Use command line script to 'twine upload', use -r to pass the repository name and --config-file to pass the environment variable set by the authenticate task.
- script: |
python -m twine upload -r "pypitest" --config-file $(PYPIRC_PATH) dist/*.whl
Anforderungen
Anforderung | BESCHREIBUNG |
---|---|
Pipelinetypen | YAML, Klassischer Build, klassisches Release |
Wird ausgeführt auf | Agent, DeploymentGroup |
Forderungen | Keine |
Capabilities | Diese Aufgabe erfüllt keine Anforderungen an nachfolgende Aufgaben im Auftrag. |
Befehlseinschränkungen | Any |
Setzbare Variablen | Any |
Agent-Version | 2.144.0 oder höher |
Aufgabenkategorie | Paket |
Anforderung | BESCHREIBUNG |
---|---|
Pipelinetypen | YAML, Klassischer Build, klassisches Release |
Wird ausgeführt auf | Agent, DeploymentGroup |
Forderungen | Keine |
Capabilities | Diese Aufgabe erfüllt keine Anforderungen an nachfolgende Aufgaben im Auftrag. |
Befehlseinschränkungen | Any |
Setzbare Variablen | Any |
Agent-Version | 2.120.0 oder höher |
Aufgabenkategorie | Paket |