TwineAuthenticate@1: tarea de autenticación de autenticación v1 de carga de gemelos de Python

Use esta tarea para autenticar cargas de distribuciones de Python mediante twine. Agregue -r FeedName/EndpointName --config-file $(PYPIRC_PATH) al comando twine upload. En el caso de las fuentes presentes en esta organización, use el nombre de fuente como repositorio (-r). De lo contrario, use el nombre del punto de conexión definido en la conexión de servicio.

Syntax

# Python twine upload authenticate v1
# Authenticate for uploading Python distributions using twine. Add '-r FeedName/EndpointName --config-file $(PYPIRC_PATH)' to your twine upload command. For feeds present in this organization, use the feed name as the repository (-r). Otherwise, use the endpoint name defined in the service connection.
- task: TwineAuthenticate@1
  inputs:
  # Feeds and Authentication
    #artifactFeed: # string. My feed (select below). 
    #pythonUploadServiceConnection: # string. Feed from external organizations.

Entradas

artifactFeed - Mi fuente (seleccione a continuación)
string.

Especifica el nombre de fuente del artefacto de Azure para autenticarse con twine. La fuente de autenticación debe estar presente en la organización. Para las fuentes con ámbito de proyecto, use la sintaxis projectName/feedNameSelect.


pythonUploadServiceConnection - Fuente de organizaciones externas
string.

Un nombre de conexión de servicio de twine de una organización externa para autenticarse con twine. Las credenciales almacenadas en el punto de conexión deben tener permisos de carga de paquetes.


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.

Comentarios

Proporciona twine credenciales a una PYPIRC_PATH variable de entorno para el ámbito de la compilación. Esto le permite publicar paquetes de Python en fuentes con twine desde la compilación.

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

Esta tarea debe ejecutarse antes de usar twine para cargar distribuciones de Python en un origen de paquete autenticado, como Azure Artifacts. No hay otros requisitos de ordenación. Varias invocaciones de esta tarea no apilarán las credenciales. Cada ejecución de tareas borrará las credenciales almacenadas anteriormente.

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

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

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. Consulte Permisos de paquete en Azure Pipelines para más información.

Ejemplos

En los ejemplos siguientes se muestra cómo publicar la distribución de Python en la fuente de Azure Artifacts y el registro oficial de Python.

Publicación de la distribución de Python en la fuente de Azure Artifacts

En este ejemplo, se establece la autenticación para publicar en una fuente privada de Azure Artifacts. La tarea de autenticación crea un .pypirc archivo que contiene las credenciales de autenticación necesarias para publicar una distribución en la fuente.

# Install python distributions like wheel, twine etc
- script: |
     pip install wheel
     pip install twine
  
# Build the python distribution from source
- script: |
     python setup.py bdist_wheel
   
- task: TwineAuthenticate@1
  displayName: Twine Authenticate
  inputs:
    # In this case, name of the feed is 'myTestFeed' in the project 'myTestProject'. Project is needed because the feed is project scoped.
    artifactFeed: myTestProject/myTestFeed
  
# Use command line script to 'twine upload', use -r to pass the repository name and --config-file to pass the environment variable set by the authenticate task.
- script: |
     python -m twine upload -r myTestFeed --config-file $(PYPIRC_PATH) dist/*.whl

La artifactFeed entrada contendrá el proyecto y el nombre de fuente si la fuente tiene ámbito de proyecto. Si la fuente tiene ámbito de organización, solo se debe proporcionar el nombre de la fuente. Más información.

Publicación de la distribución de Python en el registro oficial de Python

En este ejemplo, se configura la autenticación para publicar en el registro oficial de Python. Cree una entrada de conexión del servicio twine para pypi. La tarea de autenticación usa esa conexión de servicio para crear un .pypirc archivo que contenga las credenciales de autenticación necesarias para publicar la distribución.

# Install python distributions like wheel, twine etc
- script: |
     pip install wheel
     pip install twine
  
# Build the python distribution from source
- script: |
     python setup.py bdist_wheel
   
- task: TwineAuthenticate@1
  displayName: Twine Authenticate
  inputs:
    # In this case, name of the service connection is "pypitest".
    pythonUploadServiceConnection: pypitest
  
# Use command line script to 'twine upload', use -r to pass the repository name and --config-file to pass the environment variable set by the authenticate task.
- script: |
     python -m twine upload -r "pypitest" --config-file $(PYPIRC_PATH) dist/*.whl

Requisitos

Requisito Descripción
Tipos de canalización YAML, compilación clásica, versión clásica
Se ejecuta en Agente, DeploymentGroup
Peticiones None
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 None
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