Vers un déploiement continue de la DevBox-Santé au sein d'Airmes

À la recherche du plus court chemin entre une expression de besoin et le déploiement de sa mise en œuvre chez le client

Avec les équipes d’Airmes, logiciel médico-social, client de la première heure de la DevBox-Santé, nous travaillons afin de raccourcir le délais entre la correction et la mise en production de la solution Airmes et notamment leur intégration des services socles du SEGUR. Nous avons chacun de notre côté automatisé un maximum les tâches de build/intégration/déploiement de nos produits.

Voici une description des différentes étapes, de la mise en place d’une correction/évolution vers un déploiement au sein de la solution Airmes.

Du côté de la DevBox-Santé

Développement

  1. Une description d’un besoin client matérialisé par une demande dans le gestionnaire de demande de la DevBox-santé, ici pour le DMP :

Issue DMP-435

  1. Quelques développements/tests dans les différents modules de la DevBox-santé :

Développements DMP-435

Packaging

  1. Un commit dans le gestionnaire de source avec un nouveau numéro de version du composant DMP déclenche le build ici en version 5.1.17:

bitbucket-pipeline

  1. Cette version est rendue visible dans la documentation : https://doc.devbox-sante.fr/dmp/versions/#version---5117-21062024

  2. Une mise à jour du fichier de release-bom permet de faire le lien entre le composant DMP 5.1.17 et la version de la DevBox-Santé ici 5.6.0 : https://bitbucket.org/devbox-sante/devbox-sante-releases-bom/commits/tag/5.6.0

  3. Cette version de la DevBox-Santé est rendue visible dans la documentation : https://doc.devbox-sante.fr/installer/versions/5.6/

Livraison

  1. Reste à livrer la version à Airmes

    • Update du fichier de configuration d’airmes avec la bonne version :
    --- a/pom.xml
    +++ b/pom.xml
    @@ -10,10 +10,10 @@
        <groupId>fr.devboxsante.clients.airmes</groupId>
        <artifactId>airmes-devbox</artifactId>
        <name>DevBoxSante :: clients : airmes - docker</name>
    -    <version>5.4.1-20240618-38</version>
    +    <version>5.6.0-20240621-39</version>
        <packaging>jar</packaging>
        <properties>
    -        <devboxsante-releases.version>5.4.1</devboxsante-releases.version>
    +        <devboxsante-releases.version>5.6.0</devboxsante-releases.version>
            <dbx-client.name>airmes</dbx-client.name>
    
    • git commit puis git push
    • ==> déclenchement d’un nouveau pipeline pour la construction de l’image et déploiement vers hub.docker.com :

    hubDocker-dbx

Côté Airmes

  1. Mise à jour du docker file d’Airmes avec la version livrée airmes docker file
  2. git tag de la version puis git push Airmes tag rebuild
  3. ==> déclenchement du pipeline de reconstruction de l’image personnalisé et déploiement vers l’environnement souhaité : Airmes déploiement