From 4b9b7f0995914aba8561f410f46c4c790156642e Mon Sep 17 00:00:00 2001 From: "IETM_FIXE\\ietm6" Date: Tue, 19 May 2026 18:36:00 +0200 Subject: [PATCH] =?UTF-8?q?Mise=20=C3=A0=20jour=20du=20switcher=20pour=20r?= =?UTF-8?q?=C3=A9gler=20le=20soucis=20de=20switch=20entre=20stable=20et=20?= =?UTF-8?q?b=C3=AAta?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- brain/app/main.py | 2 +- core/pom.xml | 2 +- switcher/switch.sh | 57 ++++++++++++++++++++++++++----------------- web/package-lock.json | 4 +-- web/package.json | 2 +- 5 files changed, 39 insertions(+), 28 deletions(-) diff --git a/brain/app/main.py b/brain/app/main.py index 28c55d7..1765088 100644 --- a/brain/app/main.py +++ b/brain/app/main.py @@ -41,7 +41,7 @@ from app.infrastructure.onemin_adapter import OneMinAiLLMProvider app = FastAPI( title="LoreMind Brain", description="Backend IA pour la génération de contenu narratif.", - version="0.8.5", + version="0.8.6", ) diff --git a/core/pom.xml b/core/pom.xml index 5a29ce5..f5bf9ba 100644 --- a/core/pom.xml +++ b/core/pom.xml @@ -14,7 +14,7 @@ com.loremind loremind-core - 0.8.5 + 0.8.6 LoreMind Core Backend Core - Architecture Hexagonale diff --git a/switcher/switch.sh b/switcher/switch.sh index 392c24b..5e21ed9 100644 --- a/switcher/switch.sh +++ b/switcher/switch.sh @@ -64,33 +64,44 @@ fi export COMPOSE_PROJECT_NAME="${PROJECT_NAME}" echo "→ Projet compose cible: ${PROJECT_NAME}" -# --- Mapping canal -> namespace -------------------------------------------- -# Le slash final est important : il est concatene avec le suffixe image +# --- Mapping canal -> (namespace, tag) ------------------------------------- +# Le slash final du namespace est important : concatene avec le suffixe image # (core/brain/web) dans le docker-compose.yml. +# Cote tag : le workflow CI pousse :latest pour le canal stable, :beta pour +# le canal beta. Le switcher doit donc forcer ces deux variables ensemble. case "${CHANNEL}" in - stable) NAMESPACE="igmlcreation/loremind-" ;; - beta) NAMESPACE="igmlcreation/loremind-beta-" ;; + stable) + NAMESPACE="igmlcreation/loremind-" + TAG="latest" + ;; + beta) + NAMESPACE="igmlcreation/loremind-beta-" + TAG="beta" + ;; esac +# Helper : met a jour (ou ajoute) une variable key=value dans le .env. +update_env_var() { + local key="$1" + local value="$2" + if grep -q "^${key}=" "${ENV_FILE}"; then + # Sur Alpine, sed -i sans backup. Le pattern '/' dans la valeur impose + # un delimiter alternatif (|). + sed -i "s|^${key}=.*|${key}=${value}|" "${ENV_FILE}" + else + # Ligne absente → on l'ajoute en fin de fichier la premiere fois. + { + echo "" + echo "# Ajoute automatiquement par le switcher de canal LoreMind." + echo "${key}=${value}" + } >> "${ENV_FILE}" + fi +} + # --- Etape 1 : sed le .env ------------------------------------------------- -# On veut REMPLACER une ligne existante IMAGE_NAMESPACE=... ou AJOUTER -# si absente. Cas typique : .env utilisateur peut avoir cette ligne ou non. -# -# Sed -i avec un pattern qui matche la ligne entiere. Si pas de match, -# on append. -echo "→ Mise a jour de IMAGE_NAMESPACE dans .env (canal: ${CHANNEL})" -if grep -q '^IMAGE_NAMESPACE=' "${ENV_FILE}"; then - # Sur Alpine, sed -i sans backup. Le pattern d'echappement '/' dans - # le namespace impose un delimiter alternatif (|). - sed -i "s|^IMAGE_NAMESPACE=.*|IMAGE_NAMESPACE=${NAMESPACE}|" "${ENV_FILE}" -else - # Ligne absente → on l'ajoute en fin de fichier avec un commentaire. - { - echo "" - echo "# Ajoute automatiquement par le switcher de canal LoreMind." - echo "IMAGE_NAMESPACE=${NAMESPACE}" - } >> "${ENV_FILE}" -fi +echo "→ Mise a jour de IMAGE_NAMESPACE + TAG dans .env (canal: ${CHANNEL})" +update_env_var "IMAGE_NAMESPACE" "${NAMESPACE}" +update_env_var "TAG" "${TAG}" # --- Etape 2 : docker compose pull ----------------------------------------- echo "→ Pull des nouvelles images (${NAMESPACE}*)" @@ -109,4 +120,4 @@ docker compose up -d --no-deps core brain web echo "" echo "Switch vers le canal ${CHANNEL} termine avec succes." -echo "Containers core/brain/web recrees avec ${NAMESPACE}*." +echo "Containers core/brain/web recrees avec ${NAMESPACE}*:${TAG}." diff --git a/web/package-lock.json b/web/package-lock.json index 4bde808..4606886 100644 --- a/web/package-lock.json +++ b/web/package-lock.json @@ -1,12 +1,12 @@ { "name": "loremind-web", - "version": "0.8.5", + "version": "0.8.6", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "loremind-web", - "version": "0.8.5", + "version": "0.8.6", "dependencies": { "@angular/animations": "^17.0.0", "@angular/common": "^17.0.0", diff --git a/web/package.json b/web/package.json index 8473b91..1416b3d 100644 --- a/web/package.json +++ b/web/package.json @@ -1,6 +1,6 @@ { "name": "loremind-web", - "version": "0.8.5", + "version": "0.8.6", "description": "LoreMind Frontend - Angular", "scripts": { "ng": "ng",