Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Verwenden Sie diese Aufgabe, um Uploads von Python-Verteilungen mithilfe von Twine zu authentifizieren. Fügen Sie ihrem Twine-Uploadbefehl -r FeedName/EndpointName --config-file $(PYPIRC_PATH)
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 name (select below).
#pythonUploadServiceConnection: # string. Feed from external organizations.
# 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.
Eingänge
artifactFeed
-
Mein Feedname (unten auswählen)
string
.
Gibt den Feednamen des Azure-Artefakts an, der bei Twine authentifiziert werden soll. Der Authentifizierungsfeed muss innerhalb der Organisation vorhanden sein. Verwenden Sie für projektbezogene Feeds die Syntax projectName/feedNameSelect
.
artifactFeed
-
Mein Feed (unten auswählen)
string
.
Gibt den Feednamen des Azure-Artefakts an, der bei 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
.
Eine Twine-Dienstverbindung Namen einer externen Organisation, um sich mit Twine zu authentifizieren. Die im Endpunkt gespeicherten Anmeldeinformationen müssen über Paketuploadberechtigungen verfügen.
Aufgabensteuerungsoptionen
Alle Aufgaben verfügen zusätzlich zu ihren Aufgabeneingaben über Steuerungsoptionen. Weitere Informationen finden Sie unter Steuerelementoptionen und allgemeinen Aufgabeneigenschaften.
Ausgabevariablen
Keiner.
Bemerkungen
Stellt twine
Anmeldeinformationen für eine PYPIRC_PATH
Umgebungsvariable für den Umfang des Builds bereit. Auf diese Weise können Sie Python-Pakete in Feeds mit twine
aus Ihrem Build veröffentlichen.
- Wann sollte ich diese Aufgabe in meiner Pipeline ausführen?
- Mein Agent liegt hinter einem Webproxy. Wird TwineAuthenticate Twine einrichten, um meinen Proxy zu verwenden?
- "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 Twine verwenden, um Python-Verteilungen in eine authentifizierte Paketquelle hochzuladen, z. B. Azure Artifacts. Es gibt keine weiteren Bestellanforderungen. Mehrere Aufrufe dieser Aufgabe stapeln keine Anmeldeinformationen. Jede Aufgabe, die ausgeführt wird, löscht alle zuvor gespeicherten Anmeldeinformationen.
Mein Agent liegt hinter einem Webproxy. Wird TwineAuthenticate Twine einrichten, um meinen Proxy zu verwenden?
Nein. Während diese Aufgabe selbst hinter einem Webproxy funktioniert, den Ihr Agent für die Verwendungkonfiguriert hat, konfiguriert er 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 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
Die folgenden Beispiele veranschaulichen, wie Die Python-Verteilung im Azure Artifacts-Feed und in der offiziellen Python-Registrierung veröffentlicht wird.
- Veröffentlichen der Python-Verteilung in Azure Artifacts-Feed
- Veröffentlichen der Python-Verteilung in der offiziellen Python-Registrierung
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 zum Veröffentlichen einer Verteilung im Feed erforderlichen Authentifizierungsanmeldeinformationen enthält.
# 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 Projektbereich ist. Wenn der Feed der Organisation entspricht, 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 eine Twine-Serviceverbindung Eintrag für pypi. Die Authentifizierungsaufgabe verwendet diese Dienstverbindung, um eine .pypirc
Datei zu erstellen, die die zum Veröffentlichen der Verteilung erforderlichen Authentifizierungsanmeldeinformationen enthält.
# 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, 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 |