PipAuthenticate@1: tarea autenticación v1 de pip de Python

Use esta tarea para proporcionar autenticación para el pip cliente que instala distribuciones de Python.

Sintaxis

# 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.

Entradas

artifactFeeds - Mis fuentes (seleccione a continuación)
string.

Especifica las fuentes que se van a autenticar como presentes en la organización.


pythonDownloadServiceConnections - Fuentes de organizaciones externas
string.

Especifica una lista separada por comas de nombres de conexión de servicio pip de organizaciones externas para autenticarse con pip.


onlyAddExtraIndex - No establecer la dirección URL del índice principal
boolean. Valor predeterminado: false.

Si esta tarea se establece trueen , no se establecerá ninguna fuente como la dirección URL del índice principal. Todas las fuentes o puntos de conexión configurados se establecerán como direcciones URL de índice adicionales.


Opciones de control de tareas

Todas las tareas tienen opciones de control además de sus entradas de tareas. Para obtener más información, vea Opciones de control y propiedades de tareas comunes.

Variables de salida

Ninguno.

Observaciones

Proporciona autenticación para el pip cliente que se usa para instalar distribuciones de Python.

¿Cuándo debo ejecutar esta tarea en mi canalización?

Esta tarea debe ejecutarse antes de usar pip para descargar distribuciones de Python en un origen de paquete autenticado, como Azure Artifacts. No hay ningún otro requisito de ordenación. Varias invocaciones de esta tarea no apilarán las credenciales. Cada ejecución de la tarea borrará todas las credenciales almacenadas anteriormente.

Mi agente está detrás de un proxy web. ¿PipAuthenticate configurará pip para usar mi proxy?

No. Aunque esta tarea funcionará detrás de un proxy web, el agente se ha configurado para su uso, no configura pip para usar el proxy.

Para ello, puede:

  • Establezca las variables http_proxyde entorno y, opcionalmenteno_proxy, https_proxy en la configuración del proxy. Consulte las directrices oficiales de Pip para obtener más información. Estas son variables usadas normalmente, que otras herramientas que no son de Python (por ejemplo, curl) también pueden usar.

    Precaución

    Las http_proxy variables y no_proxy distinguen mayúsculas de minúsculas en los sistemas operativos Linux y Mac y deben estar en minúsculas. Si intenta usar una variable de Azure Pipelines para establecer la variable de entorno, no funcionará, ya que se convertirá en mayúsculas. En su lugar, establezca las variables de entorno en la máquina del agente autohospedado y reinicie el agente.

  • Agregue la configuración del proxy al archivo de configuración pip mediante proxy la clave .
  • Use la --proxy opción de línea de comandos para especificar el proxy con el formato [user:passwd@]proxy.server:port.

Mi canalización necesita acceder a una fuente en un proyecto diferente

Si la canalización se ejecuta en un proyecto diferente al que hospeda la fuente, debe configurar el otro proyecto para conceder acceso de lectura y escritura al servicio de compilación. Para más información , consulte Permisos de paquete en Azure Pipelines .

Ejemplos

Descarga de distribuciones de Python desde fuentes de Azure Artifacts sin consultar el registro oficial de Python

En este ejemplo, se establece la autenticación para descargar desde fuentes privadas de Azure Artifacts. La tarea de autenticación crea variables PIP_INDEX_URL de entorno y PIP_EXTRA_INDEX_URL que son necesarias para descargar las distribuciones. La tarea establece las variables con credenciales de autenticación que genera la tarea para las fuentes artifacts proporcionadas. HelloTestPackage debe estar presente en o myTestFeed1myTestFeed2; de lo contrario, se producirá un error en la instalación.

En el caso de las fuentes con ámbito de proyecto que se encuentran en un proyecto diferente al en el que se ejecuta la canalización, debe proporcionar manualmente al proyecto y a la fuente acceso al servicio de compilación del proyecto de la canalización.

- 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

Consulte el registro oficial de Python y, a continuación, descargue distribuciones de Python desde fuentes de Azure Artifacts.

En este ejemplo, se configura la autenticación para descargar desde una fuente privada de Azure Artifacts, pero primero se consulta pypi . La tarea de autenticación crea una variable PIP_EXTRA_INDEX_URLde entorno , que contiene las credenciales de autenticación necesarias para descargar las distribuciones. HelloTestPackage se descargará de las fuentes autenticadas solo si no está presente en pypi.

En el caso de las fuentes con ámbito de proyecto que se encuentran en un proyecto diferente al en el que se ejecuta la canalización, debe proporcionar manualmente al proyecto y a la fuente acceso al servicio de compilación del proyecto de la canalización.

- 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

Descarga de distribuciones de Python desde otros servidores privados de Python

En este ejemplo, se establece la autenticación para descargar desde un servidor de distribución externo de Python. Cree una entrada de conexión de servicio pip para el servicio externo. La tarea de autenticación usa la conexión de servicio para crear una variable PIP_INDEX_URLde entorno , que contiene las credenciales de autenticación necesarias para descargar las distribuciones. HelloTestPackage tiene que estar presente en la conexión de servicio; de lo contrario, se producirá un error en la pypitest instalación. Si desea consultar primero pypi , establezca en 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

Requisitos

Requisito Descripción
Tipos de canalización YAML, compilación clásica, versión clásica
Se ejecuta en Agente, DeploymentGroup
Peticiones Ninguno
Capabilities Esta tarea no satisface ninguna demanda de tareas posteriores en el trabajo.
Restricciones de comandos Any
Variables que se pueden establecer Any
Versión del agente 2.144.0 o superior
Categoría de la tarea: Paquete
Requisito Descripción
Tipos de canalización YAML, compilación clásica, versión clásica
Se ejecuta en Agente, DeploymentGroup
Peticiones Ninguno
Capabilities Esta tarea no satisface ninguna demanda de tareas posteriores en el trabajo.
Restricciones de comandos Any
Variables que se pueden establecer Any
Versión del agente 2.120.0 o superior
Categoría de la tarea: Paquete