PipAuthenticate@1: tarea autenticación de pip de Python v1
Use esta tarea para proporcionar autenticación para el cliente de pip
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 una lista separada por comas de fuentes de Azure Artifacts para autenticarse con pip.
fuentes de pythonDownloadServiceConnections
- de organizaciones externas
string
.
Especifica una lista separada por comas de conexión de servicio pip nombres 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 en true
, no se establecerá ninguna fuente como 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 tarea. Para obtener más información, consulte Opciones de control y propiedades de tareas comunes.
Variables de salida
Ninguno.
Observaciones
Proporciona autenticación para el cliente de pip
que se usa para instalar distribuciones de Python.
- ¿Cuándo en mi canalización debo ejecutar esta tarea?
- ¿Qué ocurre si quiero que mis canalizaciones puedan guardar desde orígenes ascendentes?
- Mi agente está detrás de un proxy web. ¿PipAuthenticate configurará pip para usar mi proxy?
- Mi canalización debe acceder a una fuente en un proyecto diferente
¿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 apilan las credenciales. Cada ejecución de la tarea borrará las credenciales almacenadas previamente.
¿Qué ocurre si quiero que mis canalizaciones puedan guardar desde orígenes ascendentes?
Compruebe la tabla permisos para determinar qué permisos desea que tenga la canalización. A continuación, determine a qué identidad desea conceder esos permisos. Para guardar paquetes de orígenes ascendentes, la identidad necesita Feed and Upstream Reader (Collaborator)
permisos.
Mi agente está detrás de un proxy web. ¿PipAuthenticate configurará pip para usar mi proxy?
No. Aunque esta propia tarea funcionará detrás de un proxy web de que el agente se ha configurado para usar, no configura pip para usar el proxy.
Para ello, puede hacer lo siguiente:
- Establezca las variables de entorno
http_proxy
,https_proxy
y, opcionalmente,no_proxy
en la configuración del proxy. Consulte 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 usarse.Cautela
Las variables
http_proxy
yno_proxy
distinguen mayúsculas de minúsculas en 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 el equipo del agente autohospedado y reinicie el agente. - Agregue la configuración del proxy al archivo de configuración de pip mediante
proxy
clave. - Use la opción de línea de comandos
--proxy
para especificar proxy en el formulario[user:passwd@]proxy.server:port
.
Mi canalización debe 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. Consulte Permisos de paquete en Azure Pipelines para más información.
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 de entorno PIP_INDEX_URL
y PIP_EXTRA_INDEX_URL
necesarias para descargar las distribuciones. La tarea establece las variables con credenciales de autenticación que la tarea genera para las fuentes artifacts proporcionadas.
HelloTestPackage
deben estar presentes en myTestFeed1
o myTestFeed2
; 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 donde 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 establece 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 de entorno PIP_EXTRA_INDEX_URL
, que contiene las credenciales de autenticación necesarias para descargar las distribuciones.
HelloTestPackage
se descargarán 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 donde 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 de entorno PIP_INDEX_URL
, que contiene las credenciales de autenticación necesarias para descargar las distribuciones.
HelloTestPackage
debe estar presente en la conexión del servicio pypitest
; De lo contrario, se producirá un error en la instalación. Si desea consultar primero pypi, establezca onlyAddExtraIndex
en 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
Requisitos
Requisito | Descripción |
---|---|
Tipos de canalización | YAML, compilación clásica, versión clásica |
Se ejecuta en | Agente, DeploymentGroup |
demandas | Ninguno |
funcionalidades de |
Esta tarea no satisface ninguna demanda de tareas posteriores en el trabajo. |
restricciones de comandos | Cualquier |
variables settable | Cualquier |
Versión del agente | 2.144.0 o superior |
Categoría de tarea | Paquete |
Requisito | Descripción |
---|---|
Tipos de canalización | YAML, compilación clásica, versión clásica |
Se ejecuta en | Agente, DeploymentGroup |
demandas | Ninguno |
funcionalidades de |
Esta tarea no satisface ninguna demanda de tareas posteriores en el trabajo. |
restricciones de comandos | Cualquier |
variables settable | Cualquier |
Versión del agente | 2.120.0 o superior |
Categoría de tarea | Paquete |