Share via


TwineAuthenticate@1 - Tâche d’authentification v1 de chargement de jumeaux Python

Utilisez cette tâche pour authentifier les chargements de distributions Python à l’aide de twine. Ajoutez -r FeedName/EndpointName --config-file $(PYPIRC_PATH) à votre commande twine upload. Pour les flux présents dans cette organisation, utilisez le nom du flux comme dépôt (-r). Sinon, utilisez le nom de point de terminaison défini dans la connexion de service.

Syntax

# Python twine upload authenticate v1
# Authenticate for uploading Python distributions using twine. Add '-r FeedName/EndpointName --config-file $(PYPIRC_PATH)' to your twine upload command. For feeds present in this organization, use the feed name as the repository (-r). Otherwise, use the endpoint name defined in the service connection.
- task: TwineAuthenticate@1
  inputs:
  # Feeds and Authentication
    #artifactFeed: # string. My feed (select below). 
    #pythonUploadServiceConnection: # string. Feed from external organizations.

Entrées

artifactFeed - Mon flux (sélectionnez ci-dessous)
string.

Spécifie le nom de flux de l’artefact Azure à authentifier auprès de twine. Le flux d’authentification doit être présent au sein de l’organisation. Pour les flux délimités au projet, utilisez la syntaxe projectName/feedNameSelect.


pythonUploadServiceConnection - Flux provenant d’organisations externes
string.

Nom de connexion de service twine d’une organisation externe pour l’authentification auprès de twine. Les informations d’identification stockées dans le point de terminaison doivent avoir des autorisations de chargement de package.


Options de contrôle des tâches

Toutes les tâches ont des options de contrôle en plus de leurs entrées de tâches. Pour plus d’informations, consultez Options de contrôle et propriétés de tâche courantes.

Variables de sortie

Aucun.

Notes

Fournit des twine informations d’identification à une variable d’environnement PYPIRC_PATH pour l’étendue de la build. Cela vous permet de publier des packages Python sur des flux avec twine à partir de votre build.

Quand dois-je exécuter cette tâche dans mon pipeline ?

Cette tâche doit s’exécuter avant d’utiliser twine pour charger des distributions Python vers une source de package authentifiée, telle qu’Azure Artifacts. Il n’existe aucune autre exigence de classement. Plusieurs appels de cette tâche n’empilent pas les informations d’identification. Chaque exécution de tâche efface toutes les informations d’identification précédemment stockées.

Mon agent se trouve derrière un proxy web. TwineAuthenticate configurera-t-il twine pour utiliser mon proxy ?

Non. Bien que cette tâche elle-même fonctionne derrière un proxy web que votre agent a été configuré pour utiliser, elle ne configure pas twine pour utiliser le proxy.

Mon pipeline doit accéder à un flux dans un autre projet

Si le pipeline s’exécute dans un projet différent du projet hébergeant le flux, vous devez configurer l’autre projet pour accorder un accès en lecture/écriture au service de build. Pour plus d’informations, consultez Autorisations de package dans Azure Pipelines .

Exemples

Les exemples suivants montrent comment publier une distribution Python sur le flux Azure Artifacts et le registre Python officiel.

Publier la distribution Python sur le flux Azure Artifacts

Dans cet exemple, nous définissons l’authentification pour la publication sur un flux d’artefacts Azure privé. La tâche d’authentification crée un .pypirc fichier qui contient les informations d’identification d’authentification requises pour publier une distribution dans le flux.

# Install python distributions like wheel, twine etc
- script: |
     pip install wheel
     pip install twine
  
# Build the python distribution from source
- script: |
     python setup.py bdist_wheel
   
- task: TwineAuthenticate@1
  displayName: Twine Authenticate
  inputs:
    # In this case, name of the feed is 'myTestFeed' in the project 'myTestProject'. Project is needed because the feed is project scoped.
    artifactFeed: myTestProject/myTestFeed
  
# Use command line script to 'twine upload', use -r to pass the repository name and --config-file to pass the environment variable set by the authenticate task.
- script: |
     python -m twine upload -r myTestFeed --config-file $(PYPIRC_PATH) dist/*.whl

L’entrée artifactFeed contient le projet et le nom du flux si le flux est délimité au projet. Si le flux est étendu à l’organisation, seul le nom du flux doit être fourni. Plus d’informations

Publier la distribution Python dans le registre Python officiel

Dans cet exemple, nous configurons l’authentification pour la publication dans le registre Python officiel. Créez une entrée de connexion de service twine pour pypi. La tâche d’authentification utilise cette connexion de service pour créer un .pypirc fichier qui contient les informations d’identification d’authentification requises pour publier la distribution.

# Install python distributions like wheel, twine etc
- script: |
     pip install wheel
     pip install twine
  
# Build the python distribution from source
- script: |
     python setup.py bdist_wheel
   
- task: TwineAuthenticate@1
  displayName: Twine Authenticate
  inputs:
    # In this case, name of the service connection is "pypitest".
    pythonUploadServiceConnection: pypitest
  
# Use command line script to 'twine upload', use -r to pass the repository name and --config-file to pass the environment variable set by the authenticate task.
- script: |
     python -m twine upload -r "pypitest" --config-file $(PYPIRC_PATH) dist/*.whl

Configuration requise

Condition requise Description
Types de pipelines YAML, build classique, version classique
S’exécute sur Agent, DeploymentGroup
Demandes Aucun
Capabilities Cette tâche ne répond à aucune demande pour les tâches suivantes dans le travail.
Restrictions de commande Quelconque
Variables paramétrables Quelconque
Version de l’agent 2.144.0 ou version ultérieure
Catégorie de la tâche Paquet
Condition requise Description
Types de pipelines YAML, build classique, version classique
S’exécute sur Agent, DeploymentGroup
Demandes Aucun
Capabilities Cette tâche ne répond à aucune demande pour les tâches suivantes dans le travail.
Restrictions de commande Quelconque
Variables paramétrables Quelconque
Version de l’agent 2.120.0 ou version ultérieure
Catégorie de la tâche Paquet