pp-planer/update-prod.sh
Thorsten Bus 6cd3dbbc4f fix(deploy): drop breaking composer update step
Parser master was renamed (propresenter/parser -> bussnet/propresenter7-php-api),
so 'composer update propresenter/parser' fails to re-resolve dev-master. Pin the
parser solely via the committed composer.lock; Dockerfile 'composer install'
deploys the locked ref and the lock COPY busts the build cache on change.
2026-06-14 11:06:15 +02:00

37 lines
1.2 KiB
Bash
Executable file

#!/bin/bash
set -euo pipefail
cd "$(dirname "$0")"
# docker compose v2 bevorzugen, Fallback auf v1
if docker compose version >/dev/null 2>&1; then
DC="docker compose"
else
DC="docker-compose"
fi
echo "[deploy] Hole neuesten Stand von origin/master ..."
git fetch --all --prune
# Harter Reset: verhindert pull-Konflikte. Sicher, da public/build, storage/
# und database/ gitignored sind und nicht angefasst werden.
git reset --hard origin/master
# Die propresenter/parser-Version wird ausschliesslich ueber die eingecheckte
# composer.lock gepinnt (Standard-Composer-Praxis). Der Dockerfile-Schritt
# "composer install" deployt exakt diesen Lock-Stand; "COPY composer.json
# composer.lock" bricht die Composer-Layer automatisch, sobald sich die Lock
# aendert. WICHTIG: composer.lock committen, wenn der Parser fortschreitet.
# (Kein "composer update" hier: master des Parsers wurde umbenannt zu
# bussnet/propresenter7-php-api, ein Re-Resolve von dev-master schlaegt fehl.)
echo "[deploy] Baue Image (inkl. aktualisierter Basis-Images) ..."
$DC build --pull
echo "[deploy] Starte Container neu ..."
$DC up -d --force-recreate
echo "[deploy] Raeume alte Images auf ..."
docker image prune -f
echo "[deploy] Fertig."