Notes
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
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 ?
- Mon agent se trouve derrière un proxy web. TwineAuthenticate va-t-il configurer twine pour utiliser mon proxy ?
- Mon pipeline doit accéder à un flux dans un autre projet
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 une distribution Python sur le flux Azure Artifacts
- publier la distribution Python dans 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 |