Déployer un environnement avec Docker-compose¶
Afin de démarrer un environnement de développement vous devez commencer par cloner le dépôt de code application :
~/src/zephir$ git clone https://gitlab.mim.ovh/EOLE/Zephir/application.git
~/src/zephir$ cd application/
Ce dépôt contient la configuration pour les différents orchestrateurs supportés :
- docker-compose pour l’environnement de développement ;
- kubernetes pour l’environnement de production.
Faciliter l’utilisation de docker-compose
¶
Dans ce dépôt application
, nous fournissons l’utilitaire
zephir-compose
enrobant la commande docker-compose
afin d’en
faciliter l’utilisation.
Il y a généralement 4 étapes pour mettre en œuvre un environnement, modifier le code source d’un microservice et tester vos modifications dans l’infrastructure :
- Démarrer l’infrastructure de développement en arrière plan
-d
:
~/src/zephir/application$ ./compose/zephir-compose --base dev -- up -d
- Cloner le dépôt Git du microservice à modifier et des bibliothèques nécessaires :
~/src/zephir/application$ git clone https://gitlab.mim.ovh/EOLE/Zephir/server-manager.git ../server-manager/ ~/src/zephir/application$ git clone https://gitlab.mim.ovh/EOLE/Zephir/python-zephir.git ../python-zephir/ ~/src/zephir/application$ git clone https://gitlab.mim.ovh/EOLE/Zephir/messages-api.git ../messages-api/
Modifier le code source du microservice souhaité
Redémarrer le microservice en utilisant le code source modifié
~/src/zephir/application$ ./compose/zephir-compose --base dev -- stop server-manager ~/src/zephir/application$ ./compose/zephir-compose --base -- rm -f server-manager ~/src/zephir/application$ ./compose/zephir-compose --base dev --src ../server-manager/ --src ../python-zephir --src ../messages-api -- up --build server-manager
Les 4 environnements de l’application Zéphir¶
La commande zephir-compose
permet de contrôler 4 environnements de
l’application Zéphir :
- source :
src
- développement :
dev
- démonstration :
staging
- stable :
stable
Chacun des environnements peut être utilisé :
- soit comme environnement de base pour tous les conteneurs en
utilisant l’option
--base <environnement>
- soit pour quelques conteneurs en complément de l’environnement de
base avec des options spécifiques
--<environnement>
.
L’environnement source¶
Cet environnement utilise les dépôts Git des sources du projet qui doivent être clonés par le développeur.
Il est possible de le définir comme environnement de base afin de
construire tous les conteneurs depuis leur dépôt sources avec l’option
--base src
:
~/src/zephir/application$ ./compose/zephir-compose --base src -- --up -d
Cette option requiert la présence des dépôts Git des sources de tous
les conteneurs et bibliothèques dans le répertoire parent au dépôt
application
Il est possible de ne construire qu’un ou plusieurs conteneurs depuis
les sources avec l’option --src <microservice>
en complément de
l’utilisation d’un autre environnement de base :
~/src/zephir/application$ ./compose/zephir-compose --base dev --src config-manager -- --up -d
L’environnement de développement¶
Cet environnement utilise les dernières images docker de développement publiées.
Il est possible de le définir comme environnement de base afin de télécharger tous les conteneurs dans leur dernière version de développement :
~/src/zephir/application$ ./compose/zephir-compose --base dev -- --up -d
Il est possible de ne construire qu’un ou plusieurs conteneurs depuis
les sources avec l’option --dev <microservice>
en complément de
l’utilisation d’un autre environnement de base :
~/src/zephir/application$ ./compose/zephir-compose --base stable --dev config-manager -- --up -d
L’environnement de démonstration¶
Cet environnement utilise les images docker de développement validées pour l’environnement de démonstration https://lab14-eole.ac-dijon.fr
Il est possible de le définir comme environnement de base afin de télécharger tous les conteneurs dans leur dernière version de démonstration :
~/src/zephir/application$ ./compose/zephir-compose --base staging -- --up -d
Il est possible de ne construire qu’un ou plusieurs conteneurs depuis
les sources avec l’option --staging <microservice>
en complément de
l’utilisation d’un autre environnement de base :
~/src/zephir/application$ ./compose/zephir-compose --base stable --staging config-manager -- --up -d
L’environnement stable de production¶
Cet environnement utilise les images docker stables validées pour un environnement de production.
Il est possible de le définir comme environnement de base afin de télécharger tous les conteneurs dans leur dernière version stable :
~/src/zephir/application$ ./compose/zephir-compose --base stable -- --up -d
Il est possible de ne construire qu’un ou plusieurs conteneurs depuis
les sources avec l’option --stable <microservice>
en complément de
l’utilisation d’un autre environnement de base :
~/src/zephir/application$ ./compose/zephir-compose --base staging --stable config-manager -- --up -d