Automatización de CI con Azure DevOps y GitHub para proyectos Python

David

Para este caso utilizaremos Azure DevOps en donde realizaremos la ejecución de la etapa del CI, asociaremos una cuenta de Github en donde se encuentra alojado el código de Python

Crear pipeline

1.Seleccionar el menú de pipelines



2.Crear pipeline



3.Seleccionar GutHub



4.Run


Explicacion del archivo .YML

1. Disparador (Trigger)

  • Acción: El pipeline se activa automáticamente.
  • Condición: Cuando hay cambios en la rama main.

Entorno de ejecución

  • Sistema operativo: Usa una máquina virtual con ubuntu-latest (la última versión de Ubuntu disponible).


Pasos del pipeline

  • Tarea: UsePythonVersion@0
  • Acción: Configura la versión de Python especificada en la variable python.version (en este caso, Python 3.8).
  • Nombre mostrado: “Use Python 3.8”.

Instalar dependencias

  • Acción: Ejecuta un script en la terminal.
  • Pasos del script:
    1. Actualiza pip a la última versión (python -m pip install --upgrade pip).
    2. Instala las dependencias listadas en requirements.txt (pip install -r requirements.txt).
  • Nombre mostrado: “Install dependencies”.

Ejecutar pruebas con pytest

Nombre mostrado: “pytest”.

Acción: Ejecuta un script en la terminal.

Pasos del script:

Instala pytest y el plugin pytest-azurepipelines (para integración con Azure DevOps).

Ejecuta las pruebas usando pytest.


5.Analizar los logs generados en la etapa del CI



David Guzmán López

Ingeniero Electrónico

Electronic Engineer | DevOps Engineer | SRE | Cloud Engineer | Infrastructure Engineer