Compilación de aplicaciones de Python

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

Puede usar Azure Pipelines para compilar, probar e implementar aplicaciones y scripts de Python como parte del sistema de CI/CD.

En este inicio rápido, obtendrá información sobre cómo crear una canalización para compilar y probar una aplicación de Python.

No es necesario configurar nada para que Azure Pipelines compile proyectos de Python. Python está preinstalado en agentes de compilación hospedados por Microsoft para Linux, macOS o Windows. Para ver qué versiones de Python están preinstaladas, consulte Uso de un agente hospedado por Microsoft.

Requisitos previos

1. Bifurcación del código de muestra

Bifurque el repositorio de muestra de Python a su cuenta de GitHub.

  1. Vaya al repositorio python-sample-vscode-flask-tutorial.
  2. Seleccione Bifurcar en la esquina superior derecha de la página.
  3. Seleccione la cuenta de GitHub donde desea bifurcar el repositorio y escriba un nombre para el repositorio bifurcado.

2. Creación de la canalización

  1. Vaya a Azure Pipelines y seleccione Comenzar gratis. Si se le pide, inicie sesión en la cuenta de DevOps.

  2. Vaya a su proyecto y seleccione Canalizaciones>Crear canalización.

  3. Seleccione GitHub como ubicación del código fuente.

  4. Si se le redirige a GitHub para iniciar sesión, escriba sus credenciales de GitHub.

  5. Cuando aparezca la lista de repositorios, seleccione el repositorio de muestra bifurcado.

  6. En la pestaña Configurar la canalización, seleccione Canalización inicial.

  1. En un explorador, vaya a la colección de DevOps Server.

  2. Vaya al proyecto y seleccione Canalizaciones>Crear una nueva canalización.

  3. Seleccione Servidor de GitHub Enterprise como ubicación del código fuente.

  4. Si se le redirige a GitHub para iniciar sesión, escriba sus credenciales de GitHub.

  5. Cuando aparezca la lista de repositorios, seleccione el repositorio de muestra bifurcado.

  6. En la pestaña Configurar la canalización, seleccione Canalización inicial.

3. Personalización de la canalización

Reemplace el contenido del archivo azure-pipelines.yml generado por el código siguiente. Este código instala la versión de Python necesaria y las dependencias, empaqueta el paquete de Python en un archivo zip publicado en la canalización y ejecuta pruebas.

trigger:
- main

pool:
  vmImage: ubuntu-latest

strategy:
  matrix:
    Python310:
      python.version: '3.10'
    Python311:
      python.version: '3.11'
    Python312:
      python.version: '3.12'

steps:
  - task: UsePythonVersion@0
    inputs:
      versionSpec: '$(python.version)'
    displayName: 'Use Python $(python.version)'

  - script: |
      python -m pip install --upgrade pip
      pip install -r requirements.txt
    displayName: 'Install dependencies'

  - task: ArchiveFiles@2
    displayName: 'Archive files'
    inputs:
      rootFolderOrFile: $(System.DefaultWorkingDirectory)
      includeRootFolder: false
      archiveType: zip
      archiveFile: $(Build.ArtifactStagingDirectory)/$(Build.BuildId)-$(python.version).zip
      replaceExistingArchive: true

  - task: PublishBuildArtifacts@1
    inputs:
      PathtoPublish: '$(Build.ArtifactStagingDirectory)'
      ArtifactName: 'drop'
      publishLocation: 'Container'

  - script: |
      pip install pytest pytest-azurepipelines
      pytest
    displayName: 'pytest'

Personalice azure-pipelines.yml para que coincida con la configuración del proyecto.

  1. Reemplace el YAML generado por el código siguiente. Este código instala la versión de Python necesaria y las dependencias, empaqueta el paquete de Python en un archivo zip publicado en la canalización y ejecuta pruebas.
  2. Si tiene un grupo de agentes diferente, cambie el parámetro name del grupo.
  3. Cambie la versión de Python para que coincida con una versión instalada en el agente autohospedado.
  trigger:
  - main

  pool: 
    name: '<your-pool-name or default>'

  steps:
  - task: UsePythonVersion@0
    inputs:
      versionSpec: '3.12'
    displayName: 'Use Python 3.12'  

  - script: |
      python -m pip install --upgrade pip
      pip install -r requirements.txt
    displayName: 'Install dependencies'


  - task: ArchiveFiles@2
    displayName: 'Archive files'
    inputs:
      rootFolderOrFile: $(System.DefaultWorkingDirectory)
      includeRootFolder: false
      archiveType: zip
      archiveFile: $(Build.ArtifactStagingDirectory)/$(Build.BuildId).zip
      replaceExistingArchive: true

  - task: PublishBuildArtifacts@1
    inputs:
      PathtoPublish: '$(Build.ArtifactStagingDirectory)'
      ArtifactName: 'drop'
      publishLocation: 'Container'

  - script: |
      pip install pytest pytest-azurepipelines
      pytest
    displayName: 'pytest'

4. Ejecución de la canalización

Guarde y ejecute la canalización.

  1. Seleccione Guardar y ejecutar.
  2. En el cuadro de diálogo Guardar y ejecutar, seleccione Guardar y ejecutar.
  3. En la pestaña Resumen, puede ver el estado de la ejecución de la canalización.
  1. Seleccione Ejecutar.
  2. El número de compilación se muestra en la parte superior de la página. Seleccione el número de compilación para ver los detalles de la compilación.

Captura de pantalla del vínculo a la compilación de canalización.

Captura de pantalla de los trabajos de Python completados.

Para ver el artefacto de compilación seleccione el vínculo publicado en la pestaña Resumen.

Captura de pantalla del vínculo de artefactos de compilación publicados.

La página Artefactos muestra los artefactos de compilación publicados.

Captura de pantalla de los artefactos de compilación publicados.

Para ver los resultados de la prueba, seleccione la pestaña Pruebas.

Captura de pantalla de resultados de la prueba de la canalización.

La pestaña Resumen muestra el estado de la ejecución de la canalización.

Captura de pantalla del trabajo de Python completado.

Para ver el artefacto de compilación, seleccione el vínculo publicado en la pestaña Resumen.

Captura de pantalla del vínculo de artefactos de compilación publicados.

Para ver los resultados de la prueba, seleccione la pestaña Pruebas.

Captura de pantalla de resultados de la prueba de la canalización.

La pestaña Resumen muestra el estado de la ejecución de la canalización.

Captura de pantalla del trabajo de Python completado.

Para descargar el artefacto de compilación, seleccione el vínculo de colocación en la sección Artefactos de compilación publicados.

Para ver los resultados de la prueba, seleccione la pestaña Pruebas.

Captura de pantalla de resultados de la prueba de la canalización.

Limpiar

Cuando haya terminado con este inicio rápido, puede eliminar el proyecto que creó en Azure DevOps.

  1. Seleccione el icono de engranaje Configuración del proyecto en la esquina inferior izquierda de la página.
  2. En la parte inferior de la página Información general del proyecto, seleccione Eliminar.
  3. Escriba el nombre del proyecto y seleccione Eliminar.

Ha completado correctamente este inicio rápido.

Pasos siguientes