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 |