Share via


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_proxyd’environnement , https_proxy et éventuellement no_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 et no_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_URLd’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_URLd’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 onlyAddExtraIndextrue.

- 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