Publicación y descarga de paquetes de Python con Azure Artifacts

Servicios de Azure DevOps | Azure DevOps Server | Azure DevOps Server 2022

Con Azure Artifacts, puede publicar y descargar paquetes de fuentes y registros públicos, como PyPi. Este inicio rápido le dirige en la creación de un flujo, la configuración del proyecto y la administración de paquetes de Python en su flujo de Azure Artifacts.

Prerrequisitos

Producto Requisitos
Azure DevOps - Una organización de Azure DevOps .
- Un proyecto de Azure DevOps .
- Descargue e instale python.

Obtención del código

  1. Si no tiene su propio proyecto de Python, puede usar el siguiente proyecto de Python de ejemplo. De lo contrario, puede ir directamente a la sección siguiente:

    https://github.com/Azure-Samples/azure-stack-hub-flask-hello-world
    
  2. Para compilar la distribución de wheel y origen, ejecute los siguientes comandos en el directorio de su proyecto:

    pip install --upgrade build
    python -m build
    
  3. Si el proyecto de Python tiene un archivo setup.py , también puede compilar el paquete mediante:

    python setup.py sdist bdist_wheel
    

Creación de una fuente

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

  2. Seleccione Artefactos y, a continuación, Crear feed.

  3. Introduzca un Nombre para su canal.

  4. Elija una configuración de Visibilidad para controlar quién puede ver los paquetes en la fuente.

  5. Seleccione Incluir paquetes de orígenes públicos comunes si quiere que la fuente use paquetes ascendentes de orígenes como nuget.org o npmjs.com.

  6. En Ámbito, elija si la fuente tiene como ámbito el proyecto actual o toda la organización.

  7. Seleccione Crear cuando haya terminado.

    Captura de pantalla que muestra las selecciones para crear una nueva fuente en Azure DevOps Services.

  1. Inicie sesión en el servidor de Azure DevOps y vaya al proyecto.

  2. Seleccione Artefactos y, a continuación, Crear feed.

  3. Introduzca un Nombre para su canal.

  4. Elija una configuración de Visibilidad para controlar quién puede ver los paquetes en la fuente.

  5. Seleccione Incluir paquetes de orígenes públicos comunes si quiere que la fuente use paquetes ascendentes de orígenes como nuget.org o npmjs.com.

  6. En Ámbito, elija si la fuente tiene como ámbito el proyecto actual o toda la organización.

  1. Seleccione Crear cuando haya terminado.

    Captura de pantalla que muestra las selecciones para crear una nueva fuente en Azure DevOps 2022.

Nota

Al crear una fuente, la cuenta Build Service del proyecto, como projectName Build Service (orgName), tiene asignado de forma predeterminada el rol Feed and Upstream Reader (Collaborator).

Conexión a la fuente

  1. Inicie sesión en la organización de Azure DevOps y vaya al proyecto.

  2. Seleccione Artefactos, seleccione su fuente en el menú desplegable y, a continuación, seleccione Conectar a la fuente.

  3. En la sección Python , seleccione Twine.

  4. Si es la primera vez que usa Azure Artifacts con Twine, seleccione Obtener las herramientas y siga las instrucciones para descargar Python e instalar Twine y el Keyring de artefactos.

  5. Cree un archivo pypirc en el directorio principal y pegue el fragmento de código proporcionado en la sección Configuración del proyecto . El archivo debe tener este aspecto:

    [distutils]
    Index-servers =
        FEED_NAME
    
    [FEED_NAME]
    Repository = https://pkgs.dev.azure.com/ORGANIZATION_NAME/PROJECT_NAME/_packaging/FEED_NAME/pypi/upload/
    

Nota

Si el archivo .pypirc ya incluye credenciales para el índice de PyPI público, se recomienda quitar la [pypi] sección para evitar la publicación accidental de paquetes privados en PyPI.

Publica paquetes en tu feed

  1. Ejecute los siguientes comandos en el directorio del proyecto para crear distribuciones de origen y wheel:

    python setup.py sdist bdist_wheel
    
    
  2. Para publicar el paquete, use el comando siguiente. Asegúrese de usar la marca FEED_NAME -r para evitar la publicación accidental en PyPI:

    twine upload -r <FEED_NAME> dist/*
    

Instale paquetes desde su fuente

  1. Para instalar paquetes desde tu feed, ejecute el siguiente comando dentro del directorio de su proyecto.

    pip install
    
  2. Para instalar un paquete específico, reemplace el marcador de posición por el nombre del paquete en su feed.

    pip install <PACKAGE_NAME>