Condividi tramite


Pubblicare pacchetti Python con Azure Pipelines

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

Azure Pipelines consente agli sviluppatori di pubblicare pacchetti Python in feed di Azure Artifacts e registri pubblici, ad esempio PyPi. Questo articolo illustra come pubblicare pacchetti Python nel 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 un feed

Per pubblicare pacchetti Python usando twine, è prima necessario eseguire l'autenticazione con il feed di Azure Artifacts. L'attività TwineAuthenticate fornisce le credenziali di Twine a una PYPIRC_PATH variabile d'ambiente. Questa variabile viene quindi usata datwine per pubblicare pacchetti direttamente dalla pipeline.

Importante

Le credenziali archiviate nella variabile di ambiente PYPIRC_PATH hanno la precedenza su quelle nei file .ini e .conf.

Se aggiungi più attività TwineAuthenticate in diverse fasi della tua pipeline, l'esecuzione di ogni attività estenderà (e non sostituirà) la variabile d'ambiente PYPIRC_PATH esistente.

  1. Accedere all'organizzazione di Azure DevOps e passare al progetto.

  2. Selezionare Pipelinee quindi selezionare la definizione della pipeline.

  3. Selezionare Modifica, poi aggiungere il seguente frammento di codice alla pipeline YAML.

    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>
    

Pubblicare pacchetti Python in un feed

Nota

Per pubblicare i pacchetti in un feed usando Azure Pipelines, assicurarsi che le identità del Project Collection Build Service e del Build Service del progetto siano assegnate al ruolo Feed Publisher (Collaboratore) nelle impostazioni del feed. Per informazioni dettagliate, vedere Gestire le autorizzazioni .

  1. Accedere all'organizzazione di Azure DevOps e passare al progetto.

  2. Selezionare Pipelinee quindi selezionare la definizione della pipeline.

  3. Selezionare Modifica, poi aggiungere il seguente frammento di codice alla pipeline YAML.

    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'