Python devops es una implementación sencilla de una api en FastApi que permite hacer requests a wikipedia.
El objetivo de este proyecto era aprender el flujo de trabajo de DevOps, basandose en la entrega continua y el desarrollo continuo (CI/CD) desde el principio del proyecto.
Seguí este video para realizar este proyecto
Demo de las acciones de github
Si algun paso del archivo devops.yml falla, la acción tambien lo hará.
Estado actual de las acciones de github de este proyecto:
Para ejecutar cualquier comando hay que escribir el comando en la terminal.
make install
:Instala las dependencias del proyecto y descarga los corpus de TextBlob.
make format
: Formatea el código con black.
make lint
: Aplica el linter pylint en los archivos Python
make test
: Ejecuta los tests con pytest
make build
: Construye la imagen de Docker con la etiqueta deploy-fastapi
make run
: Ejecuta el contenedor Docker
make deploy
: Hace un deploy de la app. (No implementado)
make all
: Ejecuta todos los comandos mostrados arriba
Las acciones de este Makefile se ejecutan en las acciones de github al hacer un test
- Choco ( para instalar make )
- Make
Ayuda para instalar make en windows
Aclaración: No es necesario tener make instalado, el proyecto se puede ejecutar con python simplemente pero la idea del proyecto es probar como funciona un archivo Makefile.
Instalar las dependencias
make install
python .\main.py
Resultado esperado:
python.exe .\cli-fire.py <nombre-funcion> <parametro 1> <parametro 2>
Ejemplo:
python.exe .\cli-fire.py search_wiki "Pepe"
Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.
Please make sure to update tests as appropriate.