Skip to content

Configuration docker 🐳 pour déployer la déclaration des accès de licencesnationales

Notifications You must be signed in to change notification settings

abes-esr/licencesnationales-docker

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

27 Commits
 
 
 
 
 
 
 
 

Repository files navigation

licencesnationales-docker

Configuration docker 🐳 pour déployer l'application de gestion des accès de licencesnationales. Ce README fait également office de fiche d'exploitation.

URLs de licencesnationales

Les URL de l'applications sur les différents environnements :

Prérequis

Disposer de :

  • docker
  • docker-compose

Installation

Déployer la configuration docker dans un répertoire :

# adaptez /opt/pod/ avec l'emplacement où vous souhaitez déployer l'application
cd /opt/pod/
git clone https://github.com/abes-esr/licencesnationales-docker.git

Configurer l'application depuis l'exemple du fichier .env-dist (ce fichier contient la liste des variables avec des explications et des exemples de valeurs) :

cd /opt/pod/licencesnationales-docker/
cp .env-dist .env
# personnaliser alors le contenu du .env

Note : les mots de passe de la base de donnée xml de test ne sont pas présent dans le fichier au moment de la copie. Vous devez les renseigner manuellement en editant le fichier .env dans la console avec nano par exemple

Démarrer l'application :

cd /opt/pod/licencesnationales-docker/
docker-compose up -d

Démarrage et arret

Pour démarrer l'application :

cd /opt/pod/licencesnationales-docker/
docker-compose up -d

Pour arrêter l'application :

cd /opt/pod/licencesnationales-docker/
docker-compose stop

Supervision

Pour vérifier que l'application est démarrée, on peut consulter l'état des conteneurs :

cd /opt/pod/licencesnationales-docker/
docker-compose ps

Pour vérifier que l'application est bien lancée, on peut consulter les logs :

cd /opt/pod/licencesnationales-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.

Sauvegardes et restauration

Pour sauvegarder l'application, il faut :

  • Sauvegarder la base de données (base Oracle sur les serveurs orpin)
  • Sauvegarder le fichier /opt/pod/licencesnationales-docker/.env (les autres fichiers sont versionnés sur le github de licencesnationales-docker)

Pour restaurer l'application, il faut :

  • restaurer la base de données
  • réinstaller/redéployer l'application (cf plus haut la section installation) en récupérant le fichier /opt/pod/licencesnationales-docker/.env depuis les sauvegardes.

Déploiement continu

Les objectifs des déploiements continus de licencesnationales sont les suivants (cf poldev) :

  • git push sur la branche develop provoque un déploiement automatique sur le serveur diplotaxis1-dev
  • git push (le plus couramment merge) sur la branche main provoque un déploiement automatique sur le serveur diplotaxis1-test
  • git tag X.X.X (associé à une release) sur la branche main permet un déploiement (non automatique) sur le serveur diplotaxis1-prod

Licencesnationales est déployé automatiquement en utilisant l'outil watchtower. Pour permettre ce déploiement automatique avec watchtower, il suffit de positionner à false la variable suivante dans le fichier /opt/pod/licencesnationales-docker/.env :

LN_WATCHTOWER_RUN_ONCE=false

Le fonctionnement de watchtower est de surveiller régulièrement l'éventuelle présence d'une nouvelle image docker de licencesnationales-web, licencesnationales-batch et licencesnationales-front, si oui, de récupérer l'image en question, de stopper le ou les les vieux conteneurs et de créer le ou les conteneurs correspondants en réutilisant les mêmes paramètres ceux des vieux conteneurs. Pour le développeur, il lui suffit de faire un git commit+push par exemple sur la branche develop d'attendre que la github action build et publie l'image, puis que watchtower prenne la main pour que la modification soit disponible sur l'environnement cible, par exemple la machine diplotaxis1-dev.

Le fait de passer LN_WATCHTOWER_RUN_ONCE à false va faire en sorte d'exécuter périodiquement watchtower. Par défaut cette variable est à true car ce n'est pas utile voir cela peut générer du bruit dans le cas d'un déploiement sur un PC en local.

Mise à jour de la dernière version

Pour récupérer et démarrer la dernière version de l'application vous pouvez le faire manuellement comme ceci :

docker-compose pull
docker-compose up

Le pull aura pour effet de télécharger l'éventuelle dernière images docker disponible pour la version glissante en cours (ex: develop-api ou main-api). Sans le pull c'est la dernière image téléchargée qui sera utilisée.

Ou bien lancer le conteneur licencesnationales-watchtower qui le fera automatiquement toutes les quelques secondes pour vous.

Architecture


(lien pour modifier le schéma)

A noter que les images docker de licencesnationales sont générées à partir des codes open sources disponibles ici :

About

Configuration docker 🐳 pour déployer la déclaration des accès de licencesnationales

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published