From bba8216ceaf8183695b2ab84733c4deed5a42d93 Mon Sep 17 00:00:00 2001 From: Gato Date: Mon, 15 Jun 2026 06:52:10 +0200 Subject: [PATCH] =?UTF-8?q?feat(bonsai):=20invalidation=20s=C3=A9lective?= =?UTF-8?q?=20du=20cache=20via=20CACHEBUST?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-Authored-By: Claude Sonnet 4.6 --- bonsai/Dockerfile.api | 1 + bonsai/Dockerfile.webapp | 1 + bonsai/README.md | 6 ++++-- bonsai/docker-compose.yml | 4 ++++ 4 files changed, 10 insertions(+), 2 deletions(-) diff --git a/bonsai/Dockerfile.api b/bonsai/Dockerfile.api index fa9edde..187c820 100644 --- a/bonsai/Dockerfile.api +++ b/bonsai/Dockerfile.api @@ -2,6 +2,7 @@ FROM eclipse-temurin:25-jdk AS builder RUN apt-get update && apt-get install -y git openssh-client && rm -rf /var/lib/apt/lists/* +ARG CACHEBUST RUN --mount=type=secret,id=ssh_key \ --mount=type=cache,target=/root/.gradle \ mkdir -p /root/.ssh && \ diff --git a/bonsai/Dockerfile.webapp b/bonsai/Dockerfile.webapp index b37911a..6f2ae69 100644 --- a/bonsai/Dockerfile.webapp +++ b/bonsai/Dockerfile.webapp @@ -2,6 +2,7 @@ FROM node:22-alpine AS builder RUN apk add --no-cache git openssh +ARG CACHEBUST RUN --mount=type=secret,id=ssh_key \ --mount=type=cache,target=/root/.npm \ mkdir -p /root/.ssh && \ diff --git a/bonsai/README.md b/bonsai/README.md index 9197447..d7f9d88 100644 --- a/bonsai/README.md +++ b/bonsai/README.md @@ -34,13 +34,15 @@ docker compose up -d ## Mise à jour -Pour rebuilder depuis le dernier commit de `main` : +Pour rebuilder depuis le dernier commit de `main` (sans tout reconstruire) : ```bash -docker compose build --no-cache +CACHEBUST=$(date +%s) docker compose build docker compose up -d ``` +`CACHEBUST` invalide uniquement l'étape clone+build. Les couches précédentes (installation des outils, image de base) restent en cache — le build reste rapide. + ## Arrêt ```bash diff --git a/bonsai/docker-compose.yml b/bonsai/docker-compose.yml index 2edaab2..7fe52de 100644 --- a/bonsai/docker-compose.yml +++ b/bonsai/docker-compose.yml @@ -26,6 +26,8 @@ services: dockerfile: Dockerfile.api secrets: - ssh_key + args: + CACHEBUST: ${CACHEBUST:-stable} container_name: bonsai-api restart: unless-stopped depends_on: @@ -58,6 +60,8 @@ services: dockerfile: Dockerfile.webapp secrets: - ssh_key + args: + CACHEBUST: ${CACHEBUST:-stable} container_name: bonsai-webapp restart: unless-stopped depends_on: