Dans l’article précédent Docker – le réseau je suis arrivé à la conclusion de mettre en place 2 VM hébergeant chacune une infrastructure de service complète. L’une devra être la copie de l’autre et servira d’étape de validation préproduction avant d’installer réellement en production.
Afin d’assurer la prédictibilité de le l’exécution, ces 2 VM ne devront faire aucune construction d’image mais utiliser des images pré-construites mises à disposition dans ce que Docker appelle une registry dont Docker Hub est un exemple.

Dans le schéma ci-dessus Gitlab sert de dépôt Git mais les VM de prod et preprod ne devront pas s’en servir que pour rapatrier les définitions des applications (docker-compose.yml) et ces dernières ne devront pas comporter des instructions de construction d’images mais uniquement des references vers les images récupérées dans le registry privé.
Je ne sais pas encore comment interdire cela. Peut-être en mettant des controle lors du push des fichiers de docker-compose.yml et en interdisant aux machines de prod et preprod d’accéder aux répertoires autres que ceux des applications au sein du dépôt Git.
Automatisation des constructions
Gitlab est également une plateforme d’intégration continue et de déploiement continu. Je vais pouvoir m’en servir pour construire mes images docker et déployer les applications en preprod. En investiguant le sujet j’ai decouvert que Gitlab est aussi une registry… à voir si je passe tout sur Gitlab ou bien je garde le registry de docker.
La suite au prochain billet…
Tags: Docker Gitlab