build(backend): one shared Dockerfile with cargo cache mounts, sequential compose build, stripped release binaries
Some checks failed
CI / backend (cargo test + clippy) (push) Failing after 1s
CI / frontend (lint + test + build) (push) Failing after 26s
CI / mod (gradle test + checkFolderLimit) (push) Successful in 1m57s

All four services now share one builder stage (dependencies compile once per
deploy, not once per service). BuildKit cache mounts keep the cargo registry
and target/ between deploys: a one-line change rebuilds in ~16 s instead of
recompiling the whole dependency tree.
This commit is contained in:
loki5512344 2026-10-09 22:01:09 +02:00
parent cc33b6e4fc
commit b0ee4ab317
Signed by: boba
GPG key ID: 253067914055423B
8 changed files with 70 additions and 86 deletions

View file

@ -8,9 +8,15 @@ FRONTEND_ROOT=/var/www/visual.loki-code.dev/html
cd "$REPO_DIR"
git pull --ff-only
echo "==> Building & (re)starting backend services"
echo "==> Building backend images (one at a time: the first builds the shared Rust builder stage, the rest reuse it)"
cd "$REPO_DIR/backend"
docker compose -f docker-compose.prod.yml up -d --build
COMPOSE_PARALLEL_LIMIT=1 docker compose -f docker-compose.prod.yml build
echo "==> (Re)starting backend services"
docker compose -f docker-compose.prod.yml up -d
echo "==> Trimming the build cache (keeps the cargo/target cache mounts warm, caps disk use)"
docker builder prune -f --keep-storage 8GB >/dev/null || true
echo "==> Building frontend"
cd "$REPO_DIR/frontend"