⛏️Configuration LXC CI/CD

Introduction

Pour configurer la LXC CI/CD, il faut activer l'option 'Activate LXC CI/CD" dans l'Application Definition.

Une fois cette option activée, un nouvel onglet 'CICD LXC' apparaît dans l'app. definition. Cet onglet permet de configurer la CI/CD pour tous les types de server (dev, test, staging, prod, ...)

CICD LXC

  • Upgrade Task: Tâche Muppy qui réalise la mise à jour de la base de donnée. Par défaut, muppy fournit une tâche permettant la mise à jour d'une base de donnée Odoo.

  • Target for commit on Default Branch: Permet de définir quel type de LXC sera déployé lors d'un commit sur la branche par défaut (Git 'refspec'). Si rien ne définit dans cette variable, aucun déploiement ne sera effectué.

Comme vu précédemment, Muppy gère le CI/CD au niveau des différents types de LXC. Pour chaque type de LXC il est possible de personnalisé le déploiement, l'initialisation ainsi que la mise à jour de la base de donnée.

Tous les types de LXC ont des paramètres similaires:

Deploy parameters

  • re-Deployment Trigger : Permet de spécifier à quel moment le déploiement est déclenché

    • Every push: A chaque push

    • Comment tag: Dès qu'un message (spécifique ou non) est détecté dans un push.

  • Deploy Trigger comment prefix : Permet de spécifier le préfix d'un message sur lequel le déploiement sera déclenché (eg: #mpy_deploy_test). Dès qu'un commit aura ce prefix, alors le déploiement sera enclenché

  • Stop Primary Before Deploy : Par défaut, le serveur "primaire" sera arrêté avant que le déploiement ne se fasse

  • Reset Repository : Lorsque cette option est cochée, cela indique à Muppy d'effacer et de reconstruire le répertoire depuis git à chaque déploiement

  • Launch builder : Permet de lancer le "builder" à chaque déploiement

  • Git Access Token : Le token Git qui sera utilisé pour le déploiement

Database Initialization parameters

  • Database source Strategy : Définit comment Muppy va créer la base de donnée.

    • Empty Database: Création d'un LXC sans base de donnée

    • Seed Database (as pg_dump): Permet de partir d'une base d'exemple qui sera mise à jour. Cette option nécesitte de fournir un pg_dump en paramètre sur le champ du dessous

    • Most recent Dump of a Database:

  • Default 'init' command : Permet de définir la commande d'initialisation de la base de donnée

Database upgrade parameters

  • Default 'upgrade' command : Permet de définir la commande de mise à jour de la base de donnée

  • Backup Before Upgrade : Permet de spécifier si une sauvegarde est nécessaire avant chaque mise à jour. Par défaut, Muppy lancera une sauvegarde de la base de donnée sera lancé avant chaque mise à jour.

  • Stop Before Backup : Indique s'il faut stopper le serveur avant de la sauvegarde de la base de donnée. Par défaut, Muppy arrêtera le serveur.

  • Delete Backup After Upgrade : En cas de succès de la mise à jour, permet de spécifier à Muppy si la sauvegarde de la base de donnée est supprimée ou non

Exemple d'une configuration de déploiement pour une production

Last updated