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
  • Connessione 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 .