deploy: align deploy-log.sh with multisite log filenames (site + kogus)

**Motivations:** Same tee naming as lecoffre_ng_test deploy.sh when SITE_CODE is set.

**Correctives:** deploy_<env>_<site>_kogus_<ts>.log when site env is set; header includes site=.

**Evolutions:** kogus docs IMPORT_V1 + agents-scripts-split log path wording.

**Page affectées:** deploy/lib/deploy-log.sh, projects/kogus/docs.
This commit is contained in:
Nicolas Cantu 2026-04-23 02:50:21 +02:00
parent c4113acbaa
commit 983cf9135e
3 changed files with 19 additions and 8 deletions

View File

@ -2,7 +2,8 @@
# Optional tee of deploy output to a log file under the project root. # Optional tee of deploy output to a log file under the project root.
# Args: project_root log_to_dir_relative [deploy_env] # Args: project_root log_to_dir_relative [deploy_env]
# If deploy_env is set (test|pprod|prod), log file is deploy_<env>_YYYYMMDD_HHMMSS.log and starts with a header. # With deploy_env and SITE_CODE|LECOFFRE_SITE_CODE|DEPLOY_SITE_CODE: deploy_<env>_<site>_kogus_YYYYMMDD_HHMMSS.log (multisite + .secrets/kogus/<env>/).
# With deploy_env only: deploy_<env>_YYYYMMDD_HHMMSS.log
deploy_script_tee_log_if_requested() { deploy_script_tee_log_if_requested() {
local project_root="${1:?}" local project_root="${1:?}"
local log_to_dir="${2:-}" local log_to_dir="${2:-}"
@ -11,15 +12,25 @@ deploy_script_tee_log_if_requested() {
return 0 return 0
fi fi
mkdir -p "${project_root}/${log_to_dir}" mkdir -p "${project_root}/${log_to_dir}"
local site_slug="${SITE_CODE:-${LECOFFRE_SITE_CODE:-${DEPLOY_SITE_CODE:-}}}"
if [[ "$site_slug" == "notary" ]]; then
site_slug="lecoffreio"
fi
local ts
ts="$(date +%Y%m%d_%H%M%S)"
local log_file local log_file
if [[ -n "$deploy_env" ]]; then if [[ -n "$deploy_env" ]]; then
log_file="${project_root}/${log_to_dir}/deploy_${deploy_env}_$(date +%Y%m%d_%H%M%S).log" if [[ -n "$site_slug" ]]; then
log_file="${project_root}/${log_to_dir}/deploy_${deploy_env}_${site_slug}_kogus_${ts}.log"
else else
log_file="${project_root}/${log_to_dir}/deploy_$(date +%Y%m%d_%H%M%S).log" log_file="${project_root}/${log_to_dir}/deploy_${deploy_env}_${ts}.log"
fi
else
log_file="${project_root}/${log_to_dir}/deploy_${ts}.log"
fi fi
{ {
printf '%s\n' "=== LeCoffre deploy log ===" printf '%s\n' "=== LeCoffre deploy log ==="
printf '%s\n' "environment=${deploy_env:-<unset>} started_at=${DEPLOY_STARTED_AT:-} project_root=${project_root}" printf '%s\n' "environment=${deploy_env:-<unset>} site=${site_slug:-<unset>} started_at=${DEPLOY_STARTED_AT:-} project_root=${project_root}"
} >"$log_file" } >"$log_file"
_IA_DEV_DEPLOY_LOG="$(cd "$(dirname "${BASH_SOURCE[0]}")/../.." && pwd)" _IA_DEV_DEPLOY_LOG="$(cd "$(dirname "${BASH_SOURCE[0]}")/../.." && pwd)"
if [[ -f "${_IA_DEV_DEPLOY_LOG}/lib/smart_ide_logs.sh" ]]; then if [[ -f "${_IA_DEV_DEPLOY_LOG}/lib/smart_ide_logs.sh" ]]; then

View File

@ -177,7 +177,7 @@ Test, pprod et prod utilisent la même architecture sans Docker. Les checks V2/b
### Logs et suivi de l'import (Phase 1.5) ### Logs et suivi de l'import (Phase 1.5)
Le script `import-v1-data-direct-into-v2.sh` produit des logs préfixés `[import-v1-direct]` pour suivre l'avancement : env, mode, source V1 et cible V2 ; en mode merge, nombre de tables puis pour chaque table le type de merge, le nombre de lignes V1 et « MERGE table done ». Les phases de `import-v1.sh` (0 à 5) sont loggées via info/success/error. L'intégralité de la sortie (phases 0 à 5, y compris Phase 4 réancrage) est en outre écrite dans un fichier sous `./logs/` : `import-v1-<env>-<timestamp>.log`. Le script `import-v1-data-direct-into-v2.sh` produit des logs préfixés `[import-v1-direct]` pour suivre l'avancement : env, mode, source V1 et cible V2 ; en mode merge, nombre de tables puis pour chaque table le type de merge, le nombre de lignes V1 et « MERGE table done ». Les phases de `import-v1.sh` (0 à 5) sont loggées via info/success/error. L'intégralité de la sortie (phases 0 à 5, y compris Phase 4 réancrage) est en outre écrite dans un fichier sous `./logs/` : `import-v1-<env>-lecoffreio-<timestamp>.log`.
### Merge mode : modifications V2 limitées aux données modifiées ou ajoutées ### Merge mode : modifications V2 limitées aux données modifiées ou ajoutées

View File

@ -70,7 +70,7 @@
- Vérifier le suivi des branches (main/test/pprod/prod → origin/…), corriger avec `git branch --set-upstream-to` - Vérifier le suivi des branches (main/test/pprod/prod → origin/…), corriger avec `git branch --set-upstream-to`
- Sassurer que la branche courante est à jour : `git fetch origin` puis `git reset --hard origin/$(git branch --show-current)` - Sassurer que la branche courante est à jour : `git fetch origin` puis `git reset --hard origin/$(git branch --show-current)`
- `mkdir -p logs`, puis exécuter le script avec `tee logs/deploy_*.log` - `mkdir -p logs`, puis exécuter le script avec `tee` vers **`logs/deploy_<env>_<site>_kogus_*.log`** (multisite via **`deploy-site.sh`**) ou **`logs/deploy_<env>_*.log`** si **`SITE_CODE`** absent
- Ne pas masquer la sortie - Ne pas masquer la sortie
**Script deploy.sh aujourdhui :** **Script deploy.sh aujourdhui :**
@ -120,7 +120,7 @@
| Fichier | Modification | | Fichier | Modification |
|---------|--------------| |---------|--------------|
| `deploy/branch-align.sh` | Ré-exécution depuis la racine git si nécessaire | | `deploy/branch-align.sh` | Ré-exécution depuis la racine git si nécessaire |
| `deploy/scripts_v2/deploy.sh` | Par défaut sync `--sync-origin` ; tee toujours vers `logs/deploy_*.log` ; `--no-sync-origin` pour désactiver le sync local ; métier uniquement `deploy.conf` | | `deploy/scripts_v2/deploy.sh` | Par défaut sync `--sync-origin` ; tee vers `logs/deploy_*_kogus_*.log` quand **`SITE_CODE`** est défini (**`deploy-site.sh`**), sinon `logs/deploy_<env>_*.log` ; `--no-sync-origin` pour désactiver le sync local ; métier uniquement `deploy.conf` |
| `deploy/pousse.sh` | **Ré-exéc depuis racine** si besoin ; options **`--bump-version`**, **`--build`** ; sans **`--build`** : pas de compilation dans le script | | `deploy/pousse.sh` | **Ré-exéc depuis racine** si besoin ; options **`--bump-version`**, **`--build`** ; sans **`--build`** : pas de compilation dans le script |
| `deploy/change-to-all-branches.sh` | Vérif branche test, `branch-align.sh test`, puis sauf **`--align-only`** : orchestrateur ou `deploy-lecoffre-all-sites.sh` / `deploy.sh` test `--no-sync-origin` ; logs `./logs/` ; **`--align-only`** = alignement seul (usage **`/deploy-pprod-or-prod`** étape 2) | | `deploy/change-to-all-branches.sh` | Vérif branche test, `branch-align.sh test`, puis sauf **`--align-only`** : orchestrateur ou `deploy-lecoffre-all-sites.sh` / `deploy.sh` test `--no-sync-origin` ; logs `./logs/` ; **`--align-only`** = alignement seul (usage **`/deploy-pprod-or-prod`** étape 2) |
| Agents .smartIde/agents/*.md | Adapter les consignes pour utiliser les nouvelles options/scripts et alléger les étapes redondantes | | Agents .smartIde/agents/*.md | Adapter les consignes pour utiliser les nouvelles options/scripts et alléger les étapes redondantes |
@ -133,7 +133,7 @@
### deploy-by-script / deploy.sh ### deploy-by-script / deploy.sh
- **Dans le script :** `--sync-origin` / `--no-sync-origin` ; tee fixe vers `logs/deploy_*.log`. - **Dans le script :** `--sync-origin` / `--no-sync-origin` ; tee vers `logs/deploy_*` (voir nom de fichier avec site + **`kogus`** ci-dessus).
- **Dans l'agent :** lancer le script depuis ia_dev ou racine projet selon conf, contrôler la sortie et le code de retour. - **Dans l'agent :** lancer le script depuis ia_dev ou racine projet selon conf, contrôler la sortie et le code de retour.
### push-by-script / pousse.sh ### push-by-script / pousse.sh