PipAuthenticate@1 - Tâche d’authentification pip Python v1
Utilisez cette tâche pour fournir l’authentification pour le client pip
qui installe des distributions Python.
Syntaxe
# Python pip authenticate v1
# Authentication task for the pip client used for installing Python distributions.
- task: PipAuthenticate@1
inputs:
# Feeds and Authentication
#artifactFeeds: # string. My feeds (select below).
#pythonDownloadServiceConnections: # string. Feeds from external organizations.
#onlyAddExtraIndex: false # boolean. Don't set primary index URL. Default: false.
Entrées
artifactFeeds
-
Mes flux (sélectionnez ci-dessous)
string
.
Spécifie une liste séparée par des virgules des flux Azure Artifacts pour s’authentifier auprès de pip.
flux de pythonDownloadServiceConnections
- provenant d’organisations externes
string
.
Spécifie une liste séparée par des virgules de connexion de service pip noms d’organisations externes pour s’authentifier auprès de pip.
onlyAddExtraIndex
-
Ne pas définir l’URL d’index primaire
boolean
. Valeur par défaut : false
.
Si cette tâche est définie sur true
, aucun flux n’est défini comme URL d’index primaire. Tous les flux/points de terminaison configurés sont définis en tant qu’URL d’index supplémentaires.
Options de contrôle de tâche
Toutes les tâches ont des options de contrôle en plus de leurs entrées de tâche. Pour plus d’informations, consultez Options de contrôle et propriétés de tâche courantes.
Variables de sortie
Aucun.
Remarques
Fournit l’authentification pour le client pip
utilisé pour installer des distributions Python.
- Quand dans mon pipeline dois-je exécuter cette tâche ?
- Que se passe-t-il si je souhaite que mes pipelines puissent enregistrer à partir de sources en amont ?
- Mon agent se trouve derrière un proxy web. PipAuthenticate configurera-t-il pip 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 pip pour télé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 la tâche efface les informations d’identification précédemment stockées.
Que se passe-t-il si je souhaite que mes pipelines puissent enregistrer à partir de sources en amont ?
Vérifiez la table d’autorisations pour déterminer les autorisations dont vous souhaitez disposer pour votre pipeline. Ensuite, déterminez l’identité à laquelle vous souhaitez accorder ces autorisations. Pour enregistrer des packages à partir de sources en amont, votre identité a besoin d’autorisations Feed and Upstream Reader (Collaborator)
.
Mon agent se trouve derrière un proxy web. PipAuthenticate configurera-t-il pip 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 pip pour utiliser le proxy.
Pour ce faire, vous pouvez :
- Définissez les variables d’environnement
http_proxy
,https_proxy
et éventuellementno_proxy
sur vos paramètres proxy. Consultez instructions officielles pip pour plus d’informations. Il s’agit de variables couramment utilisées, que d’autres outils non-Python (par exemple curl) peuvent également utiliser.Prudence
Les variables
http_proxy
etno_proxy
respectent la casse sur les systèmes d’exploitation Linux et Mac et doivent être en minuscules. La tentative d’utilisation d’une variable Azure Pipelines pour définir la variable d’environnement ne fonctionnera pas, car elle sera convertie en majuscules. Au lieu de cela, définissez les variables d’environnement sur l’ordinateur de l’agent auto-hébergé et redémarrez l’agent. - Ajoutez les paramètres du proxy au fichier de configuration pip fichier à l’aide de
proxy
clé. - Utilisez l’option de ligne de commande
--proxy
pour spécifier le proxy dans le formulaire[user:passwd@]proxy.server:port
.
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
Télécharger des distributions Python à partir de flux Azure Artifacts sans consulter le registre Python officiel
Dans cet exemple, nous définissons l’authentification pour le téléchargement à partir de flux Azure Artifacts privés. La tâche d’authentification crée des variables d’environnement PIP_INDEX_URL
et PIP_EXTRA_INDEX_URL
requises pour télécharger les distributions. La tâche définit les variables avec les informations d’identification d’authentification générées par la tâche pour les flux Artefacts fournis.
HelloTestPackage
doit être présent dans myTestFeed1
ou myTestFeed2
; sinon, l’installation échoue.
Pour les flux dans l’étendue du projet qui se trouvent dans un projet différent de celui où le pipeline est en cours d’exécution, vous devez donner manuellement au projet et au flux l’accès au service de génération du projet du pipeline.
- task: PipAuthenticate@1
displayName: 'Pip Authenticate'
inputs:
# Provide list of feed names which you want to authenticate.
# Project scoped feeds must include the project name in addition to the feed name.
artifactFeeds: 'project1/myTestFeed1, myTestFeed2'
# Use command line tool to 'pip install'.
- script: |
pip install HelloTestPackage
Consultez le registre Python officiel, puis téléchargez les distributions Python à partir des flux Azure Artifacts
Dans cet exemple, nous définissons l’authentification pour le téléchargement à partir d’un flux Azure Artifacts privé, mais pypi est consulté en premier. La tâche d’authentification crée une variable d’environnement PIP_EXTRA_INDEX_URL
, qui contient les informations d’identification d’authentification requises pour télécharger les distributions.
HelloTestPackage
sera téléchargé à partir des flux authentifiés uniquement s’il n’est pas présent dans pypi.
Pour les flux dans l’étendue du projet qui se trouvent dans un projet différent de celui où le pipeline est en cours d’exécution, vous devez donner manuellement au projet et au flux l’accès au service de génération du projet du pipeline.
- task: PipAuthenticate@1
displayName: 'Pip Authenticate'
inputs:
# Provide list of feed names which you want to authenticate.
# Project scoped feeds must include the project name in addition to the feed name.
artifactFeeds: 'project1/myTestFeed1, myTestFeed2'
# Setting this variable to "true" will force pip to get distributions from official python registry first and fallback to feeds mentioned above if distributions are not found there.
onlyAddExtraIndex: true
# Use command line tool to 'pip install'.
- script: |
pip install HelloTestPackage
Télécharger des distributions Python à partir d’autres serveurs Python privés
Dans cet exemple, nous définissons l’authentification pour le téléchargement à partir d’un serveur de distribution Python externe. Créez une connexion de service pip d’entrée pour le service externe. La tâche d’authentification utilise la connexion de service pour créer une variable d’environnement PIP_INDEX_URL
, qui contient les informations d’identification d’authentification requises pour télécharger les distributions.
HelloTestPackage
doit être présent dans la connexion de service pypitest
; sinon, l’installation échoue. Si vous souhaitez que pypi soit consulté en premier, définissez onlyAddExtraIndex
sur true
.
- task: PipAuthenticate@1
displayName: 'Pip Authenticate'
inputs:
# In this case, name of the service connection is "pypitest".
pythonDownloadServiceConnections: pypitest
# Use command line tool to 'pip install'.
- script: |
pip install HelloTestPackage
Exigences
Exigence | Description |
---|---|
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 | Quelconque |
variables settables | Quelconque |
Version de l’agent | 2.144.0 ou version ultérieure |
Catégorie de tâche | Colis |
Exigence | Description |
---|---|
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 | Quelconque |
variables settables | Quelconque |
Version de l’agent | 2.120.0 ou version ultérieure |
Catégorie de tâche | Colis |