Pubblicare e scaricare pacchetti Python con Azure Artifacts

servizi Azure DevOps | Azure DevOps Server | Azure DevOps Server 2022

Con Azure Artifacts è possibile pubblicare e scaricare pacchetti da feed e registri pubblici, ad esempio PyPi. Questa guida introduttiva illustra come creare un feed, configurare il progetto e gestire i pacchetti Python nel feed di Azure Artifacts.

Prerequisiti

Prodotto Requisiti
Azure DevOps - Un'organizzazione di Azure DevOps.
- Un progetto Azure DevOps .
- Scaricare e installare Python.

Ottenere il codice

  1. Se non si ha un progetto Python personalizzato, è possibile usare il progetto Python di esempio seguente. In caso contrario, è possibile passare alla sezione successiva:

    https://github.com/Azure-Samples/azure-stack-hub-flask-hello-world
    
  2. Per creare la ruota e la distribuzione di origine, esegui i comandi seguenti nella directory del progetto:

    pip install --upgrade build
    python -m build
    
  3. Se il progetto Python ha un file setup.py , è anche possibile compilare il pacchetto usando:

    python setup.py sdist bdist_wheel
    

Creare un feed

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

  2. Selezionare Artifactse quindi selezionare Create Feed.

  3. Immettere un nome per il feed.

  4. Scegliere un'impostazione Visibilità per controllare chi può visualizzare i pacchetti nel feed.

  5. Selezionare Includi pacchetti da origini pubbliche comuni se si desidera che il feed usi pacchetti upstream da origini quali nuget.org o npmjs.com.

  6. In Ambito scegliere se il feed ha come ambito il progetto corrente o l'intera organizzazione.

  7. Al termine, selezionare Crea.

    Screenshot che mostra le selezioni per la creazione di un nuovo feed in Azure DevOps Services.

  1. Accedere al server Azure DevOps e quindi passare al progetto.

  2. Selezionare Artifactse quindi selezionare Create Feed.

  3. Immettere un nome per il feed.

  4. Scegliere un'impostazione Visibilità per controllare chi può visualizzare i pacchetti nel feed.

  5. Selezionare Includi pacchetti da origini pubbliche comuni se si desidera che il feed usi pacchetti upstream da origini quali nuget.org o npmjs.com.

  6. In Ambito scegliere se il feed ha come ambito il progetto corrente o l'intera organizzazione.

  1. Al termine, selezionare Crea.

    Screenshot che mostra le selezioni per la creazione di un nuovo feed in Azure DevOps 2022.

Nota

Quando si crea un feed, all'account Build Service del progetto, ad esempio projectName Build Service (orgName), viene assegnato per impostazione predefinita il ruolo Lettore di feed e upstream (Collaboratore).

Connetti al tuo feed

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

  2. Seleziona Artefatti, seleziona il tuo feed dal menu a tendina e quindi seleziona Connettersi al feed.

  3. Nella sezione Pythonselezionare twine.

  4. Se è la prima volta che usi Azure Artifacts con twine, seleziona Ottieni gli strumenti e segui le istruzioni per scaricare Python e installare Twine e il componente keyring degli artefatti.

  5. Creare un file pypirc nella home directory e incollare il frammento fornito nella sezione Installazione progetto . Il file dovrebbe essere simile al seguente:

    [distutils]
    Index-servers =
        FEED_NAME
    
    [FEED_NAME]
    Repository = https://pkgs.dev.azure.com/ORGANIZATION_NAME/PROJECT_NAME/_packaging/FEED_NAME/pypi/upload/
    

Nota

Se il file con estensione pypirc include già le credenziali per l'indice PyPI pubblico, è consigliabile rimuovere la [pypi] sezione per evitare la pubblicazione accidentale di pacchetti privati in PyPI.

Pubblicare pacchetti nel feed

  1. Nella directory del progetto eseguire il comando seguente per creare distribuzioni di origine e rotellina:

    python setup.py sdist bdist_wheel
    
    
  2. Per pubblicare il pacchetto, usare il comando seguente. Assicurarsi di usare il flag -r FEED_NAME per evitare la pubblicazione accidentale in PyPI:

    twine upload -r <FEED_NAME> dist/*
    

Installare pacchetti dal feed

  1. Per installare i pacchetti dal feed, eseguire il comando seguente nella directory del progetto:

    pip install
    
  2. Per installare un pacchetto specifico, sostituire il segnaposto con il nome del pacchetto dal feed:

    pip install <PACKAGE_NAME>