Python-pakketten publiceren met Azure Pipelines

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

Met Behulp van Azure Pipelines kunnen ontwikkelaars Python-pakketten publiceren naar Azure Artifacts-feeds, openbare registers of ze opslaan als pijplijnartefacten. In dit artikel wordt uitgelegd hoe u het volgende kunt doen:

  • De vereiste onderdelen installeren
  • Verbinding maken naar een Azure Artifacts-feed
  • Python-pakketten publiceren naar een 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 Azure Artifacts

Als u uw Python-pakketten wilt publiceren 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 gebruikt omtwine het publiceren van uw pakketten rechtstreeks vanuit uw pijplijn te vergemakkelijken.

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

Belangrijk

De referenties die zijn opgeslagen in de PYPIRC_PATH omgevingsvariabele vervangen deze in uw .ini en .conf bestanden.

Als u meerdere TwineAuthenticate-taken toevoegt in verschillende fasen in uw pijplijn, wordt bij elke extra taakuitvoering de bestaande omgevingsvariabele uitgebreid (niet overschreven).PYPIRC_PATH

Python-pakketten publiceren naar een 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'

Notitie

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