PipAuthenticate@1 - Tâche d’authentification pip python v1
Utilisez cette tâche pour fournir l’authentification pour le pip
client qui installe les 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 les flux à authentifier comme présents dans l’organisation.
pythonDownloadServiceConnections
- Flux provenant d’organisations externes
string
.
Spécifie une liste séparée par des virgules des noms de connexion de service pip provenant d’organisations externes à authentifier auprès de pip.
onlyAddExtraIndex
- Ne pas définir l’URL d’index principal
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 principal. Tous les flux/points de terminaison configurés sont définis en tant qu’URL d’index supplémentaires.
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 l’authentification pour le pip
client utilisé pour installer des distributions Python.
Quand dois-je exécuter cette tâche dans mon pipeline ?
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 n’empilent pas les informations d’identification. Chaque exécution de la tâche efface toutes les informations d’identification précédemment stockées.
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 que votre agent a été configuré pour utiliser, elle ne configure pas pip pour utiliser le proxy.
Pour ce faire, vous pouvez :
- Définissez les variables
http_proxy
d’environnement ,https_proxy
et éventuellementno_proxy
sur vos paramètres de proxy. Pour plus d’informations, consultez instructions officielles pip . Il s’agit de variables couramment utilisées, que d’autres outils non-Python (par exemple, curl) peuvent également utiliser.Attention
Les
http_proxy
variables 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 la machine de l’agent auto-hébergé et redémarrez l’agent. - Ajoutez les paramètres de proxy au fichier de configuration pip à l’aide de
proxy
la clé. - Utilisez l’option
--proxy
de ligne de commande pour spécifier le proxy au format[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 build. 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 PIP_INDEX_URL
d’environnement qui PIP_EXTRA_INDEX_URL
sont nécessaires 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 d’artefacts fournis. HelloTestPackage
doit être présent dans myTestFeed1
ou myTestFeed2
; sinon, l’installation échoue.
Pour les flux délimités au projet qui se trouvent dans un projet différent de celui où le pipeline est en cours d’exécution, vous devez accorder 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 PIP_EXTRA_INDEX_URL
d’environnement 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 délimités au projet qui se trouvent dans un projet différent de celui où le pipeline est en cours d’exécution, vous devez accorder 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 entrée de connexion de service pip pour le service externe. La tâche d’authentification utilise la connexion de service pour créer une variable PIP_INDEX_URL
d’environnement , qui contient les informations d’identification d’authentification requises pour télécharger les distributions. HelloTestPackage
doit être présent dans la connexion de pypitest
service ; sinon, l’installation échoue. Si vous souhaitez que pypi soit consulté en premier, définissez sur onlyAddExtraIndex
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
Spécifications
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 | Package |
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 | Package |