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 gemelle a una PYPIRC_PATH variabile di 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 sia il Project Collection Build Service che le identità del servizio di compilazione 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 Pipeline, quindi selezionare la definizione della pipeline.

  3. Selezionare Modificae quindi aggiungere il frammento di codice seguente 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'