7.7 KiB
Heureusement pour vous, il apparaît que tout le code de l'interface a été envoyé sur un dépôt git de l'entreprise. Il semblerait qu'il ne reste plus qu'à déployer la solution.
Voici les notes retrouvées dans les derniers échanges avec le sous-traitant :
Palier 0 : Récupérer les images
Le sous-traitant a laissé des images Docker sur le Docker Store, vous pourrez vous baser dessus pour commencer.
nemunaire/fic-admin
nemunaire/fic-backend
nemunaire/fic-frontend
Faites-vous la main sur ces trois images : lancez les ; l'ordre suggéré par les notes du prestataire devraient vous aider.
Pensez à inspecter les conteneurs pour voir les objets Docker qu'ils créent et/ou exposent.
Vous devriez pouvoir lancer docker container run nemunaire/fic-IMAGE --help
sur les images.
Durant la durée du projet, les images seront peut-être amenées à être mises à jour, si vous vous trouvez bloqué, commencez par vérifier que vous avez bien la dernière version disponible de l'image :
docker pull nemunaire/fic-admin nemunaire/fic-backend nemunaire/fic-frontend
Palier 1 : docker-compose.yml
Maintenant que vous arrivez à lancer les images, rendez cela reproductible en
inscrivant tout ça dans un fichier YAML, compréhensible par docker-compose
!
Vous devriez avoir ces services :
mariadb
(oumysql
),admin
,backend
,frontend
,nginx
(ouapache
, ...).
Palier 2 : retrouver les Dockerfile
Maintenant que vous êtes en mesure de lancer le service, il serait temps de ne plus dépendre d'une image que l'on ne peut plus modifier facilement.
Pour ce palier, vous allez devoir réécrire les trois fichiers Dockerfile
,
pour chacun des service :
admin
,backend
,frontend
.
Arriverez-vous à générer des images plus propres que celles du prestataire disparu ?!
Astuces
Les différents projets sont organisés au sein d'un
dépôt monolithique. Les projets ont des
dépendances entre les dossiers qui se trouvent à la racine (qui sont
l'équivalent de bibliothèques). Vous allez sans doute vouloir placer les trois
Dockerfile
à la racine pour simplifier les étapes de construction des images :
docker image build --file Dockerfile-admin .
Les multi-stage builds vous seront d'une grande aide.
Si vous n'avez pas la possibilité d'utiliser une version récente de Docker qui
supporte cette syntaxe, vous pouvez ajouter des scripts et autant de
Dockerfile
que nécessaire à votre rendu (mais vous devriez considérer
l'option de mettre à jour votre Docker !).
Palier 3 : fic-server.yml
prêt pour le déploiement
À présent, faites les éventuelles adaptations nécessaires pour que votre
fichier docker-compose.yml
puisse s'exécuter au sein d'un cluster de
plusieurs machines. Via docker stack deploy
.
Palier 4 : fic-server.yml
prêt pour la production
Comme indiqué dans les notes du prestataire, en production, le frontend se trouve sur une machine distincte du backend.
À vous de trouvez une solution élégante pour gérer la synchronisation des données ! Il est fort probable que vous ayez à ajouter des services à votre fichier YAML.
Palier 5 (bonus) : fic-server.yml
sécurisé
Vous avez indiqués des mots de passes bidons dans votre YAML ? Rangez les
informations sensibles au sein de
docker secret
et les
éléments de configuration qui pourraient être changés au sein de
docker config
.