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).
Meld u aan bij uw Azure DevOps-organisatie en navigeer vervolgens naar uw project.
Selecteer Pijplijnenen selecteer vervolgens uw pijplijndefinitie.
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.
Meld u aan bij uw Azure DevOps-organisatie en navigeer vervolgens naar uw project.
Selecteer Pijplijnenen selecteer vervolgens uw pijplijndefinitie.
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'