Delen via


Python-pakketten publiceren met Azure Pipelines

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

Met Azure Pipelines kunnen ontwikkelaars Python-pakketten publiceren naar Azure Artifacts-feeds en openbare registers, zoals PyPi. Dit artikel begeleidt u bij het publiceren van Python-pakketten naar uw Azure Artifacts-feed.

Vereisten

  • Een Azure DevOps-organisatie en een project. Maak een organisatie of een project als u dat nog niet hebt gedaan.

  • Een Azure Artifacts-feed. Maak een feed als u er nog geen hebt.

Verifiëren met een feed

Als u Python-pakketten wilt publiceren met behulp van twine, moet u zich eerst verifiëren met uw Azure Artifacts-feed. De taak TwineAuthenticate biedt dubbele-referenties voor een PYPIRC_PATH omgevingsvariabele. Deze variabele wordt vervolgens doortwine gebruikt om pakketten rechtstreeks vanuit uw pijplijn te publiceren.

Belangrijk

De referenties die zijn opgeslagen in de omgevingsvariabele PYPIRC_PATH hebben voorrang op de referenties in de .ini- en .conf-bestanden.

Als u meerdere TwineAuthenticate taken toevoegt in verschillende fasen van uw pijplijn, verlengt elke taakuitvoering de bestaande PYPIRC_PATH omgevingsvariabele (niet overschrijven).

  1. Meld u aan bij uw Azure DevOps-organisatie en navigeer vervolgens naar uw project.

  2. Selecteer Pijplijnenen selecteer vervolgens uw pijplijndefinitie.

  3. Selecteer bewerken en voeg vervolgens het volgende fragment toe aan uw YAML-pijplijn.

    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>
    

Python-pakketten publiceren naar een feed

Notitie

Als u uw pakketten wilt publiceren naar een feed met behulp van Azure Pipelines, moet u ervoor zorgen dat zowel de buildservice voor projectverzamelingen als de Build Service-identiteiten van uw project de rol Feed Publisher (Inzender) in uw feedinstellingen hebben toegewezen. Zie Machtigingen beheren voor meer informatie.

  1. Meld u aan bij uw Azure DevOps-organisatie en navigeer vervolgens naar uw project.

  2. Selecteer Pijplijnenen selecteer vervolgens uw pijplijndefinitie.

  3. Selecteer bewerken en voeg vervolgens het volgende fragment toe aan uw YAML-pijplijn.

    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'