2.2 KiB
\newpage
But du TP
Nous allons nous mettre aujourd'hui dans la peau d'une équipe DevOps et réaliser une solution complète d'intégration/déploiement continu (le fameux CI/CD, pour Continuous Integration et Continuous Delivery).
Le résultat attendu d'ici la fin de cette partie sera de mettre en place toutes les briques décrites dans la section précédente. \
Nous allons commencer par automatiser le projet youp0m
, plus simple, puis
la plate-forme du FIC dans son ensemble, ce qui représente un petit challenge
(merci Nabih !).
Il est également attendu que vous rendiez un playbook Ansible, permettant de retrouver un environnement similaire. Car on pourra s'en resservir par la suite. \
Dans un premier temps, on voudra juste compiler notre projet, pour s'assurer
que chaque commit poussé ne contient pas d'erreur de compilation, dans
l'environnement défini comme étant celui de production. Ensuite, on ajoutera
quelques tests automatiques. Puis nous publierons automatiquement le binaire
youp0m
comme fichier associé à un tag au sein de l'interface web du
gestionnaire de versions.
Enfin, nous mettrons en place un registre Docker qui nous permettra de publier automatiquement l'image Docker associée. C'est à partir de cette image Docker que l'on va commencer à déployer automatiquement...
Préparer le terrain
Tous les déploiements sont à faire sur votre machine en utilisant des conteneurs Docker, qui seront regroupés au sein de réseaux Docker. Cela vous permettra d'utiliser la résolution de noms entre vos conteneurs.
Dans votre playbook Ansible, vous pourrez procéder ainsi :
Étant donné que votre machine ne dispose pas de domaine sur Internet et que
l'on va essayer de simplifier au maximum l'installation, vous devriez ajouter
cette ligne à votre fichier /etc/hosts
(ou
\Windows\System32\drivers\etc\hosts
) :
Cette ligne va vous permettre de résoudre les noms des conteneurs. Cela permettra aux requêtes OAuth de se faire de manière transparente pour vous lorsque vous serez dans votre navigateur.