Partager via


TwineAuthenticate@1 - Tâche d’authentification v1 du jumeau 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 du point de terminaison défini dans la connexion de service.

Syntaxe

# 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 name (select below). 
    #pythonUploadServiceConnection: # string. Feed from external organizations.
# 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 nom de flux (sélectionnez ci-dessous)
string.

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


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

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


flux pythonUploadServiceConnection - provenant d’organisations externes
string.

Une connexion de service twine nom d’une organisation externe pour s’authentifier auprès de twine. Les informations d’identification stockées dans le point de terminaison doivent disposer d’autorisations de chargement de package.


Options de contrôle de la tâche

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.

Remarques

Fournit 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 dans mon pipeline dois-je exécuter cette tâche ?

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 ne empilent pas les informations d’identification. Chaque exécution de tâche efface les informations d’identification précédemment stockées.

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

Non. Bien que cette tâche elle-même fonctionne derrière un proxy web votre agent a été configuré pour utiliser, il 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 génération. Pour plus d’informations, consultez autorisations de package dans Azure Pipelines.

Exemples

Les exemples suivants montrent comment publier la 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 Azure Artifacts privé. La tâche d’authentification crée un fichier .pypirc 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 étendu au projet. Si le flux est limité à l’organisation, seul le nom du flux doit être fourni. En savoir plus.

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 fichier .pypirc 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

Spécifications

Besoin Descriptif
Types de pipelines YAML, Build Classique, Version Classique
Exécutions sur Agent, DeploymentGroup
demandes Aucun
fonctionnalités de Cette tâche ne répond à aucune demande de tâches ultérieures dans le travail.
restrictions de commande N'importe quel
variables settables N'importe quel
Version de l’agent 2.144.0 ou version ultérieure
Catégorie de tâche Paquet
Besoin Descriptif
Types de pipelines YAML, Build Classique, Version Classique
Exécutions sur Agent, DeploymentGroup
demandes Aucun
fonctionnalités de Cette tâche ne répond à aucune demande de tâches ultérieures dans le travail.
restrictions de commande N'importe quel
variables settables N'importe quel
Version de l’agent 2.120.0 ou version ultérieure
Catégorie de tâche Paquet