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
.
Inicie sesión en su organización de Azure DevOps y vaya a su proyecto.
Seleccione Pipelines y elija la definición correspondiente.
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.
Inicie sesión en su organización de Azure DevOps y vaya a su proyecto.
Seleccione Pipelines y elija la definición correspondiente.
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'