Veröffentlichen von Python-Paketen mit Azure Pipelines

Azure DevOps Services | Azure DevOps Server 2022 | Azure DevOps Server 2019

Mithilfe von Azure Pipelines können Entwickler*innen Python-Pakete in Azure Artifacts-Feeds, öffentlichen Registrierungen veröffentlichen oder als Pipelineartefakte speichern. In diesem Artikel erfahren Sie, wie Sie:

  • Installieren der erforderlichen Komponenten
  • Eine Verbindung mit einem Azure Artifacts-Feed herstellen
  • Veröffentlichen von Python-Paketen in einem Azure Artifacts-Feed

Voraussetzungen

Authentifizieren mit Azure Artifacts

Um mit twine Ihre Python-Pakete zu veröffentlichen, müssen Sie sich zuerst mit Ihrem Azure Artifacts-Feed authentifizieren. Die TwineAuthenticate-Aufgabe bietet Twine-Anmeldeinformationen in einer PYPIRC_PATH-Umgebungsvariablen. Diese Variable wird dann vontwine verwendet, um die Veröffentlichung Ihrer Pakete direkt aus Ihrer Pipeline zu erleichtern.

- task: TwineAuthenticate@1
  inputs:
    artifactFeed: <PROJECT_NAME/FEED_NAME>     ## For an organization-scoped feed, artifactFeed: <FEED_NAME>

Wichtig

Die in der Umgebungsvariablen PYPIRC_PATH gespeicherten Anmeldeinformationen ersetzen die Anmeldeinformationen in Ihren .ini- und .conf-Dateien.

Wenn Sie mehrere TwineAuthenticate-Aufgaben in verschiedenen Stages ihrer Pipeline hinzufügen, wird die vorhandene Umgebungsvariable PYPIRC_PATH durch jede zusätzliche Aufgabenausführung erweitert (nicht außer Kraft gesetzt).

Veröffentlichen von Python-Paketen in einem Azure Artifacts-Feed

- script: |
    pip install build
    pip install twine
  displayName: 'Install build and twine'

- script: |
    python -m build -w
  displayName: 'Python build'

- task: TwineAuthenticate@1
  inputs:
    artifactFeed: <PROJECT_NAME/FEED_NAME>
  displayName: 'Twine Authenticate'

- script: |
    python -m twine upload -r <FEED_NAME> --config-file $(PYPIRC_PATH) dist/*.whl
  displayName: 'Upload to feed'

Hinweis

Um Ihre Pakete mithilfe von Azure Pipelines in einem Feed zu veröffentlichen, muss sowohl demBuilddienst für die Projektsammlung als auch den Builddienstidentitäten Ihres Projekts in Ihren Feedeinstellungen die Rolle Feedherausgeber (Mitwirkender) zugewiesen sein. Details finden Sie unter Verwalten von Berechtigungen.