26 lines
1.4 KiB
Markdown
26 lines
1.4 KiB
Markdown
|
# TP R410
|
||
|
|
||
|
## Lancer Un conteneur
|
||
|
|
||
|
Pour lancer Chacune des APIs, il s'uffit de lancer dans le dossier de chaque API le script `start_debug.sh`.
|
||
|
|
||
|
Ce script créer un environnement virtuel python et installe les dépendances nécessaires puis lance le serveur Flask sur le port 5000
|
||
|
|
||
|
## Tester les conteneurs
|
||
|
|
||
|
Pour tester les conteneurs, il faut lancer le script `test.py` contenu dans chaque dossier lorsque le serveur de test est en route.
|
||
|
|
||
|
Si tous les tests passent, le script ne devrait rien mettre sur la sortie standart, par contre si il y a une erreur, une assertion se déclenche et le script arretera son éxecution
|
||
|
|
||
|
*PS: il faut utiliser version de debug et non pas la version conteneurisé de chaque service car le serveur WSGI utiliser n'est pas le même, ce qui change le formatage de certaines requêtes, empêchant la série de test de s'exécuter proprement*
|
||
|
|
||
|
## Déployer les conteneurs
|
||
|
|
||
|
Pour déployer tous les conteneurs ensemble derrière un reverse proxy, il y a un Docker compose.
|
||
|
|
||
|
Pour lancer le Docker compose, il faut lancer la commande `docker compose up -d` depuis la racine du projet.
|
||
|
|
||
|
Cela redirigera le préfixe du chemin `/athlete` vers le conteneurs athlete, le préfixe du chemin `/sport` vers le conteneurs sport et le préfixe du chemin `/medal` vers le conteneurs medal.
|
||
|
|
||
|
Le docker compose met aussi en place un swagger avec le contrat d'interface disponible en `/ui`.
|