Configuration pour le déploiement docker de l'application abes-hello ("Hello World" illustrant la politique de dev de l'Abes).
Les URLs de l'application abes-hello sont les suivantes :
- en dev : https://hello-dev.abes.fr/
- en test : https://hello-test.abes.fr/
- en prod : https://hello.abes.fr/
A noter que les codes sources de l'application abes-hello sont hébergés sur ces deux dépôts :
cd /opt/pod/
git clone https://git.abes.fr/depots/abes-hello-docker.git
cd /opt/pod/abes-hello-docker/
cp .env-dist .env
# personnalisez alors le .env en partant des valeurs exemple présentes dans le .env-dist:
# - sur quel serveur on déploie, dev test ou prod
# - crontab pour le batch
# - URL du back pour que le front puisse l'appeler
La personnalisation du .env
se fait à partir d'une copie de .env-dist
qui contient des commentaires qui expliquent toutes les variables disponnibles que l'on peut personnaliser.
Pour démarrer l'application :
cd /opt/pod/abes-hello-docker/
docker compose up -d
L'application va alors écouter sur les ports 7080 (pour le front) et 7081 (pour le back). Remarques: le ports peuvent être personnalisés dans le .env
.
Exemple d'URL une fois déployé en local :
- Le front : http://127.0.0.1:7080/
- Le back : http://127.0.0.1:7081/v1/api/
Exemple d'URL une fois déployé sur le serveur diplotaxis-test.v202.abes.fr :
- Le front : http://diplotaxis-test.v202.abes.fr:7080/
- Le back : http://diplotaxis-test.v202.abes.fr:7081/v1/api/
Pour arrêter l'application :
cd /opt/pod/abes-hello-docker/
docker compose stop
Pour vérifier que l'application est démarrée, on peut consulter l'état des conteneurs :
cd /opt/pod/abes-hello-docker/
docker compose ps
Pour vérifier que l'application est bien lancée, on peut consulter les logs :
cd /opt/pod/abes-hello-docker/
docker compose logs --tail=50 -f
A noter que ces logs sont envoyées automatiquement au puits de log de l'Abes à l'aide du client filebeat installé sur le noeud docker et à la configuration que nous lui indiquons dans les labels (cf docker-compose.yml).
Pour mettre à jour l'application cela suppose qu'une nouvelle version du code ait été publiée. Le fait de publier une nouvelle version va généré l'image docker correspondante dans dockerhub. On doit alors l'indiquer en modifiant le numéro de version dans le docker-compose.yml
de ce présent dépôt. Dans de rares cas (release d'une version majeure) il est éventuellement nécessaire d'ajouter les variables d'environnement dans /opt/pod/abes-hello-docker/.env
en prenant exemple sur /opt/pod/abes-hello-docker/.env-dist
.
Ensuite il suffit de lancer la commande suivante qui aura pour effet de recréer tous les conteneurs dont la nouvelle version a été indiquée dans le docker-compose.yml
:
cd /opt/pod/abes-hello-docker/
docker compose up -d
A SUPPRIMER ET METTRE EGALEMENT LA VRAIE PROCEDURE DE RESTAURATION Pas besoin de sauvegarder l'application. C'est une application de type hello world qui ne contient aucune données importantes.
Pour lancer manuellement une sauvegarde de la base de donnée, exécuter la commande suivante en se plaçant dans le dossier qui contient le docker-compose.yml :
sudo docker exec -it abes-hello-db-dumper backup-now
TODO.