Ocrchestration documentation¶
Add your content using reStructuredText syntax. See the
reStructuredText
documentation for details.
Ocrchestration documentation¶
Architecture de base ToolBox¶
Ce projet orchestration_CI_CD est en version et appartient à Lionel-JOURDHIER.
Liste des contributeurs¶
docker compose -f docker-compose.prod.yml pull
docker compose -f docker-compose.prod.yml up
Quickstart : Orchestrateur CI CD¶
Ce guide cous permet d’uttiliser l’orchestrateur pour lier un front et une base de donnée postgres en back via une API.
1. Installation rapide¶
L’utilisation de uv est recommandée pour une installation ultra-rapide des dépendances.
git clone [https://github.com/Lionel-JOURDHIER/orchestration_CI_CD.git](https://github.com/Lionel-JOURDHIER/orchestration_CI_CD.git) && cd orchestration_CI_CD
uv sync --project app_front # cd app_front && uv sync && cd ..
uv sync --project app_api # cd app_api && uv sync && cd ..
uv sync --project docs # cd docs && uv sync && cd ..
2. Création des contener en local¶
Pour créer les conteneurs, utilisez la commande suivante :
docker compose build && docker compose up
2. Création des conteners dockers depuis le repository docker online (dernière version)¶
Pour créer les conteneurs, utilisez la commande suivante :
docker compose -f docker-compose.prod.yml pull
docker compose -f docker-compose.prod.yml up
Uttilisation de l’application¶
Les adresses sont celle definis dans le fichier .env. Vous pouvez utiliser les adresses pour tester la fonctionnalité de prédiction.
API (Swagger) : http://localhost:9090/docs
Frontend Streamlit : http://localhost:8501
Architecture :¶
.
├── .github/
│ ├── workflows/
│ │ ├── deploy_docker.yml # Docker
│ │ ├── documentation.yml # Documentation
│ │ ├── extract.yml # Extract information depuis le repo pour compléter le README
│ │ ├── ruff.yml # lintage
│ │ ├── secrets.yml # verifie la présence de secret dans le code
│ │ └── test.yml # execute les test pour le code
│ ├── CONTRIBUTING.template.md
│ ├── CONTRIBUTING.md
│ ├── CODE_OF_CONDUCT.template.md
│ └── CODE_OF_CONDUCT.md
├── app_front/ # Service Streamlit
│ ├── main.py
│ ├── pages
│ │ ├── 0_insert.py
│ │ └── 1_read.py
│ ├── pyproject.toml
│ ├── uv.lock
│ └── Dockerfile
├── app_api/ # Service FastAPI
│ ├── Dockerfile
│ ├── pyproject.toml
│ ├── uv.lock
│ ├── models/ # Dossier contenant le modèle pydantic
│ │ ├── __init__.py
│ │ └── models.py # modèle pydantic
│ ├── modules/ # Dossier contenant la logique du projet 2
│ │ ├── __init__.py
│ │ └── db_tools.py # Contient les operations de connexion et de CRUD
│ ├── maths/ # Dossier contenant la logique du projet 1
│ │ ├── __init__.py
│ │ └── mon_module.py # Contient les fonctions add, sub, square, print_data
│ ├── data/ # Dossier contenant les data du projet 1
│ │ └── moncsv.csv # Données d'entrée pour la démonstration
│ └── main.py # Point d'entrée de l'application
├── tests/
│ ├── test_api.py
│ ├── test_front_1_read.py
│ ├── test_front_app_front/py
│ └── test_front_0_insert.py
├── docker-compose.yml # Pour le développement (build: .)
├── docker-compose.prod.yml # Pour la prod (image: user/repo:tag)
├── pytest.ini
├── .gitignore
├── .dockerignore
├── README.md
├── README.template.md
└── .env.example
Maintenance et Suppression :¶
Voici les commandes pour gérer le cycle de vie de l’application :
Arrêter l’application sans supprimer les ressources:
docker compose stop
Arrêter l’application en supprimant le contener, le réseaux et les images:
docker compose down --rmi all
Supprimer l’image de l’application:
Nettoyage complet (recommandé si l’espace disque est saturé) :
docker compose stop
docker system prune