Partager via


Publier et télécharger des packages Python avec Azure Artifacts

Azure DevOps Services | Azure DevOps Server | Azure DevOps Server 2022

À l’aide d’Azure Artifacts, vous pouvez publier et télécharger des packages à partir de flux et de registres publics tels que PyPi. Ce guide de démarrage rapide vous guide tout au long de la création d’un flux, de la configuration de votre projet et de la gestion des packages Python dans votre flux Azure Artifacts.

Conditions préalables

Produit Exigences
Azure DevOps - Une organisation Azure DevOps .
- Un projet Azure DevOps .
- Téléchargez et installez Python.

Obtenir le code

  1. Si vous n’avez pas votre propre projet Python, vous pouvez utiliser l’exemple de projet Python suivant. Sinon, vous pouvez passer à la section suivante :

    https://github.com/Azure-Samples/azure-stack-hub-flask-hello-world
    
  2. Pour générer votre roue et votre distribution source, exécutez les commandes suivantes dans le répertoire de votre projet :

    pip install --upgrade build
    python -m build
    
  3. Si votre projet Python a un fichier setup.py , vous pouvez également générer votre package à l’aide des éléments suivants :

    python setup.py sdist bdist_wheel
    

Créer un flux

  1. Connectez-vous à votre organisation Azure DevOps et accédez à votre projet.

  2. Sélectionnez Artifacts, puis sélectionnez Create feed.

  3. Fournissez un nom pour votre flux, choisissez l’option Visibilité qui définit qui peut afficher vos packages, cochez Inclure des packages à partir de sources publiques courantes si vous souhaitez inclure des packages à partir de sources telles que nuget.org ou npmjs.com, et pour étendue, déterminez si le flux doit être étendu à votre projet ou à l’ensemble de l’organisation.

  4. Sélectionnez Créer lorsque vous avez terminé.

    Capture d’écran montrant les sélections permettant de créer un flux dans Azure DevOps Services.

  1. Connectez-vous à votre serveur Azure DevOps, puis accédez à votre projet.

  2. Sélectionnez Artifacts, puis sélectionnez Create feed.

  3. Fournissez un nom pour votre flux, choisissez l’option Visibilité qui définit qui peut afficher vos packages, cochez Inclure des packages à partir de sources publiques courantes si vous souhaitez inclure des packages à partir de sources telles que nuget.org ou npmjs.com, et pour étendue, déterminez si le flux doit être étendu à votre projet ou à l’ensemble de l’organisation.

  1. Sélectionnez Créer lorsque vous avez terminé.

    Capture d’écran montrant les sélections permettant de créer un flux dans Azure DevOps 2022.

Remarque

Par défaut, le service de build pour le projet (par exemple : projectName Build Service (orgName)) est affecté au rôle Flux et Lecteur en amont (Collaborateur) lorsqu’un flux est créé.

Se connecter à votre flux

  1. Connectez-vous à votre organisation Azure DevOps, puis accédez à votre projet.

  2. Sélectionnez Artifacts, sélectionnez votre flux dans le menu déroulant, puis sélectionnez Connect to feed.

  3. Sous la section Python, sélectionnez twine.

  4. S’il s’agit de votre première utilisation d’Azure Artifacts avec twine, sélectionnez Obtenir les outils et suivez les instructions pour télécharger Python et installer Twine et le keyring des artefacts.

  5. Créez un fichier pypirc dans votre répertoire d’accueil et collez l’extrait de code fourni dans la section Configuration du projet . Votre fichier doit ressembler à ceci :

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

Remarque

Si votre fichier .pypirc inclut déjà des informations d’identification pour l’index PyPI public, nous vous recommandons de supprimer la [pypi] section pour éviter de publier accidentellement des packages privés sur PyPI.

Publier des packages dans votre flux

  1. Dans votre répertoire de projet, exécutez la commande suivante pour créer des distributions source et roue :

    python setup.py sdist bdist_wheel
    
    
  2. Pour publier votre package, utilisez la commande ci-dessous. Veillez à utiliser l’indicateur -r FEED_NAME pour éviter la publication accidentelle sur PyPI :

    twine upload -r <FEED_NAME> dist/*
    

Installer des packages à partir de votre flux

  1. Pour installer des packages à partir de votre flux, exécutez la commande suivante dans le répertoire de votre projet :

    pip install
    
  2. Pour installer un package spécifique, remplacez l’espace réservé par le nom du package à partir de votre flux :

    pip install <PACKAGE_NAME>