Paket: Python Twine-Hochladen Authentifizieren

Azure DevOps Services

Version 1.* | Andere Versionen

Stellt twine Anmeldeinformationen für eine Umgebungsvariable PYPIRC_PATH für den Bereich des Builds zur Anwendung. Dadurch können Sie Python-Pakete in Feeds mit aus Ihrem twine Build veröffentlichen.

YAML-Codeausschnitt

# 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 feed 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:
    #artifactFeed: MyTestFeed # Optional
    #pythonUploadServiceConnection: OtherOrganizationFeed # Optional

Argumente

Argument BESCHREIBUNG
artifactFeed (Optional) Der Azure Artifacts Feednamen für die Authentifizierung mit twine. Verwenden Sie für feeds im Projektbereich die folgende Syntax: projectName/feedName.
pythonUploadServiceConnection (Optional) Ein Verbindungsname des Zwillingsdiensts aus einer externen Organisation für die Authentifizierung bei Twine. Die im Endpunkt gespeicherten Anmeldeinformationen müssen über Berechtigungen zum Hochladen von Paketen verfügen.

Tipp

Informationen zum Unterschied zwischen den beiden Typen finden Sie unter Organisationsfeeds im Vergleich zu projektspezifischen Feeds, und erfahren Sie, wie Sie überprüfen können, ob Ihr Feed projekt- oder organisationsspezifische Feeds ist.

Beispiele

In den folgenden Beispielen wird veranschaulicht, wie Sie die Python-Verteilung in Azure Artifacts und der offiziellen Python-Registrierung veröffentlichen.

Veröffentlichen der Python-Verteilung in Azure Artifacts Feed

In diesem Beispiel wird die Authentifizierung für die Veröffentlichung in einem privaten Azure Artifacts feed. Der Authentifizierungs-Task erstellt eine .pypirc Datei mit den Authentifizierungsanmeldeinformationen, 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 projektumfangsiert ist. Wenn für den Feed der Bereich organisationiert ist, muss nur der Feedname angegeben werden. Weitere Informationen

Veröffentlichen der Python-Distribution in der offiziellen Python-Registrierung

In diesem Beispiel wird die Authentifizierung für die Veröffentlichung in der offiziellen Python-Registrierung konfiguriert. Erstellen Sie einen Twine-Dienstverbindungseintrag für pypi. Die Authentifizierungsaufgabe verwendet diese Dienstverbindung, um eine Datei .pypirc mit den Authentifizierungsanmeldeinformationen zu erstellen, 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

Taskversionen: Twine-Authentifizierung

Aufgabenversion Azure Pipelines TFS
1.* Verfügbar Nicht unterstützt
0.* Verfügbar Nicht unterstützt

Häufig gestellte Fragen

Wann sollte ich diese Aufgabe in meiner Pipeline ausführen?

Diese Aufgabe muss ausgeführt werden, bevor Sie Twine zum Hochladen von Python-Distributionen in eine authentifizierte Paketquelle wie Azure Artifacts. Es gibt keine anderen 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. Wird TwineAuthenticate twine für die Verwendung meines Proxys einrichten?

Nein. Diese Aufgabe selbst funktioniert zwar hinter einem Webproxy, für den Ihr Agent konfiguriert wurde, konfiguriert jedoch 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 hosten soll, müssen Sie das andere Projekt so einrichten, dass Lese-/Schreibzugriff auf den Builddienst gewährt wird. Weitere Informationen finden Sie Azure Pipelines Paketberechtigungen in der -Azure Pipelines.

VS Code ist eine Open-Source-Software.

Diese Aufgabe wird Open Source auf GitHub. Feedback und Beiträge sind willkommen.