Prérequis¶
Docker doit être installé, via docker-cli sur Linux ou Docker Desktop sur Mac.
CI¶
Génération de l'image utilisée dans la CI.
Création et upload automatique de l'image¶
Il est nécessaire d'être identifié sur https://hub.docker.com avec le login efalia (mot de passe sur demande).
L'image est ensuite disponible publiquement à l'adresse : https://hub.docker.com/r/efalia/mgx
Il devient donc possible de l'utiliser directement dans un Dockerfile :
Ce que nous faisons dans nos tests pour éviter l'installation de l'infra lors de chaque build.
Création de l'image en local (pour debug)¶
Pour tester rapidement cette nouvelle image dans un conteneur :
Ou pour se retrouver exactement dans le même environnement que la CI :
docker run -it --cap-add=SYS_PTRACE --add-host mgx.loc:127.0.0.1 -v $PWD:/__w/mgx/mgx/ mgx /bin/bash
Ou pour Windows
docker run -it --cap-add=SYS_PTRACE --add-host mgx.loc:127.0.0.1 -v ${PWD}:/__w/mgx/mgx/ mgx /bin/bash
Ce qui permet ensuite de démarrer les services nécessaires et de lancer les tests dans le conteneur :
./provision/scripts/docker/start-services.sh
./provision/scripts/docker/apply-permissions.sh
make install
make test
Dev¶
Génération de l'image utilisée pour le développement avec Vagrant.
Création et upload automatique de l'image¶
Il est nécessaire d'être identifié sur https://hub.docker.com avec le login efalia (mot de passe sur demande).
Lancer ensuite cette commande depuis une architecture ARM pour construire l'image multi-architectures et la téléverser automatiquement sur le hub Docker :
L'image est ensuite disponible publiquement à l'adresse https://hub.docker.com/r/efalia/vagrant-mgx
Création de l'image en local (pour debug)¶
Pour tester rapidement cette nouvelle image dans un conteneur :