Freigeben über


Veröffentlichen von Python-Paketen mit Azure Pipelines

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

Mit Azure Pipelines können Entwickler Python-Pakete in Azure Artifacts-Feeds und öffentlichen Registrierungen wie PyPi veröffentlichen. Dieser Artikel führt Sie durch die Veröffentlichung von Python-Paketen in Ihrem Azure Artifacts-Feed.

Voraussetzungen

Authentifizierung mit einem Feed

Um Python-Pakete mit Twine 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 Pakete direkt aus Ihrer Pipeline zu veröffentlichen.

Wichtig

Die in der umgebungsvariablen PYPIRC_PATH gespeicherten Anmeldeinformationen haben Vorrang vor den Anmeldeinformationen in den dateien .ini und .conf.

Wenn Sie mehrere TwineAuthenticate Aufgaben in verschiedenen Phasen Ihrer Pipeline, wird jede Aufgabenausführung die (nicht außer Kraft setzen) die bestehenden PYPIRC_PATH Umgebungsvariable.

  1. Melden Sie sich bei Ihrer Azure DevOps-Organisation an, und navigieren Sie dann zu Ihrem Projekt.

  2. Wählen Sie Pipelines und dann Ihre Pipelinedefinition aus.

  3. Wählen Sie Bearbeiten aus, und fügen Sie dann der YAML-Pipeline den folgenden Codeausschnitt hinzu.

    steps:
    - task: UsePythonVersion@0
      displayName: 'Use Python 3.x'
    
    - task: TwineAuthenticate@1
      inputs:
        artifactFeed: <PROJECT_NAME/FEED_NAME>     ## For an organization-scoped feed, use: artifactFeed: <FEED_NAME>
    

Veröffentlichen von Python-Paketen in einem Feed

Hinweis

Um Ihre Pakete mit Azure Pipelines in einem Feed zu veröffentlichen, stellen Sie sicher, dass sowohl die Projekt Sammlung Build Service und Ihr Projekt Service aufbauen Identitäten werden die Feed Publisher (Contributor) Rolle in Ihren Feed-Einstellungen. Details finden Sie unter Verwalten von Berechtigungen.

  1. Melden Sie sich bei Ihrer Azure DevOps-Organisation an, und navigieren Sie dann zu Ihrem Projekt.

  2. Wählen Sie Pipelines und dann Ihre Pipelinedefinition aus.

  3. Wählen Sie Bearbeiten aus, und fügen Sie dann der YAML-Pipeline den folgenden Codeausschnitt hinzu.

    steps:
    - task: UsePythonVersion@0
      displayName: 'Use Python 3.x'
    
    - 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>                ## For an organization-scoped feed, use: artifactFeed: <FEED_NAME>
      displayName: 'Twine Authenticate'
    
    - script: |
        python -m twine upload -r <FEED_NAME> --config-file $(PYPIRC_PATH) dist/*.whl
      displayName: 'Upload to feed'