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.
37 lines
1.2 KiB
Bash
Executable file
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."
|