Publier des packages Python avec Azure Pipelines

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

Grâce à Azure Pipelines, les développeurs peuvent publier des paquets Python dans les flux Azure Artifacts, les registres publics ou les stocker en tant qu’artefacts de pipeline. Cet article vous guidera tout au long des étapes suivantes :

  • Installer les composants requis
  • Connecter à un flux Azure Artifacts
  • Publier des packages Python sur un flux Azure Artifacts

Prérequis

  • Un organization Azure DevOps et un projet. Créez un organization ou un projet si ce n’est pas déjà fait.

  • Un flux Azure Artifacts. Créez un flux si vous n’en avez pas déjà un.

S’authentifier auprès de Azure Artifacts

Pour utiliser twine pour publier vos packages Python, vous devez d’abord vous authentifier avec votre flux Azure Artifacts. La tâche TwineAuthenticate fournit les identifiants Twine à une PYPIRC_PATHvariable d’environnement. Cette variable est ensuite utilisée pourtwine faciliter la publication de vos packages directement à partir de votre pipeline.

- task: TwineAuthenticate@1
  inputs:
    artifactFeed: <PROJECT_NAME/FEED_NAME>     ## For an organization-scoped feed, artifactFeed: <FEED_NAME>

Important

Les informations d’identification stockées dans la variable d’environnement PYPIRC_PATH remplacent celles de vos fichiers .ini et .conf.

Si vous ajoutez plusieurs tâches TwineAuthenticate à différentes étapes de votre pipeline, chaque exécution de tâche supplémentaire étend (sans écraser) la variable d’environnement PYPIRC_PATH existante.

Publier des packages Python sur un flux 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'

Remarque

Pour publier vos packages dans un flux à l’aide d’Azure Pipelines, le rôle Éditeur de flux (contributeur) doit être attribué dans les paramètres de votre flux aux identités Service de build de la collection de projets et Service de build. Pour plus d’informations, consultez Gérer les autorisations .