Compartir vía


Publicación de paquetes de Python con Azure Pipelines

Azure DevOps Services | Azure DevOps Server 2022 | Azure DevOps Server 2019

Azure Pipelines permite a los desarrolladores publicar paquetes de Python en fuentes de Azure Artifacts y registros públicos, como PyPi. Este artículo le guiará a través de cómo publicar paquetes de Python en la fuente de Azure Artifacts.

Requisitos previos

  • Una organización de Azure DevOps y un proyecto. Cree una organización o un proyecto si aún no lo ha hecho.

  • Una fuente de Azure Artifacts. Cree una fuente si aún no tiene una.

Autenticarse con un feed

Para publicar paquetes de Python usando twine, primero debe autenticarse con el feed de Azure Artifacts. La tarea TwineAuthenticate proporciona credenciales gemelas en una variable de entorno PYPIRC_PATH. Esta variable se utiliza paratwine publicar paquetes directamente desde su pipeline.

Importante

Las credenciales almacenadas en la variable de entorno PYPIRC_PATH tienen prioridad sobre las de los archivos .ini y .conf.

Si agrega varias tareas TwineAuthenticate en distintas fases de la canalización, cada ejecución de tareas adicional extenderá (no invalidará) la variable de entorno existente PYPIRC_PATH.

  1. Inicie sesión en su organización de Azure DevOps y vaya a su proyecto.

  2. Seleccione Pipelines y elija la definición correspondiente.

  3. Seleccione Editary agregue el siguiente fragmento de código a la canalización de YAML.

    steps:
    - task: UsePythonVersion@0
      displayName: 'Use Python 3.x'
    
    - task: TwineAuthenticate@1
      inputs:
        artifactFeed: <PROJECT_NAME/FEED_NAME>     ## For an organization-scoped feed, use: artifactFeed: <FEED_NAME>
    

Publicar paquetes Python en una fuente

Nota:

Para publicar los paquetes en una fuente mediante Azure Pipelines, asegúrese de que tanto el Servicio de compilación de colecciones de proyectos como las identidades de Servicio de compilación del proyecto tengan el rol de Publicador de fuentes (colaborador) asignado en la configuración de la fuente. Consulte Administración de permisos para obtener más información.

  1. Inicie sesión en su organización de Azure DevOps y vaya a su proyecto.

  2. Seleccione Pipelines y elija la definición correspondiente.

  3. Seleccione Editary agregue el siguiente fragmento de código a la canalización de YAML.

    steps:
    - task: UsePythonVersion@0
      displayName: 'Use Python 3.x'
    
    - script: |
        pip install build
        pip install twine
      displayName: 'Install build and twine'
    
    - script: |
        python -m build -w
      displayName: 'Python build'
    
    - task: TwineAuthenticate@1
      inputs:
        artifactFeed: <PROJECT_NAME/FEED_NAME>                ## For an organization-scoped feed, use: artifactFeed: <FEED_NAME>
      displayName: 'Twine Authenticate'
    
    - script: |
        python -m twine upload -r <FEED_NAME> --config-file $(PYPIRC_PATH) dist/*.whl
      displayName: 'Upload to feed'