Pubblicare pacchetti Python con Azure Pipelines
Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019
Usando Azure Pipelines, gli sviluppatori possono pubblicare pacchetti Python in feed di Azure Artifacts, registri pubblici o archiviarli come artefatti della pipeline. Questo articolo illustra come:
- Installare i prerequisiti
- Connettersi a un feed di Azure Artifacts
- Pubblicare pacchetti Python in un feed di Azure Artifacts
Prerequisiti
Un'organizzazione Di Azure DevOps e un progetto. Creare un'organizzazione o un progetto, se non è già stato fatto.
Feed di Azure Artifacts. Crea un feed se non ne hai già uno.
Eseguire l'autenticazione con Azure Artifacts
Per usare twine
per la pubblicazione dei pacchetti Python, è prima necessario eseguire l'autenticazione con il feed di Azure Artifacts. L'attività TwineAuthenticate fornisce le credenziali gemelle a una PYPIRC_PATH
variabile di ambiente. Questa variabile viene quindi usata datwine
per facilitare la pubblicazione dei pacchetti direttamente dalla pipeline.
- task: TwineAuthenticate@1
inputs:
artifactFeed: <PROJECT_NAME/FEED_NAME> ## For an organization-scoped feed, artifactFeed: <FEED_NAME>
Importante
Le credenziali archiviate nella PYPIRC_PATH
variabile di ambiente sostituisce quelle nei .ini
file e .conf
.
Se si aggiungono più attività TwineAuthenticate in fasi diverse nella pipeline, ogni esecuzione di attività aggiuntiva estenderà (non eseguirà l'override) della variabile di ambiente esistente PYPIRC_PATH
.
Pubblicare pacchetti Python in un feed di Azure Artifacts
- 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'
Nota
Per pubblicare i pacchetti in un feed usando Azure Pipelines, sia il servizio di compilazione della raccolta di progetti che le identità del servizio di compilazione del progetto devono avere il ruolo Autore feed (collaboratore) assegnato nelle impostazioni del feed. Per informazioni dettagliate, vedere Gestire le autorizzazioni .