Some checks failed
Auto Tag Develop / tag (push) Has been cancelled
Les fichiers documents étaient stockés sous storage/storage/documents/ au lieu de storage/ directement, causant des 404 en prod. Le deploy script corrige la structure et le Dockerfile crée le répertoire var/storage/documents dans l'image. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
52 lines
1.5 KiB
Bash
Executable File
52 lines
1.5 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
set -euo pipefail
|
|
|
|
cd "$(dirname "$0")"
|
|
|
|
TAG="${1:-latest}"
|
|
export INVENTORY_IMAGE_TAG="$TAG"
|
|
|
|
echo "==> Deploying inventory:${TAG}..."
|
|
|
|
# Fix storage directory structure (one-time migration fix)
|
|
# Files were nested under storage/storage/documents/ instead of storage/ directly
|
|
if [ -d "storage/storage/documents" ]; then
|
|
echo "==> Fixing storage directory structure..."
|
|
cp -a storage/storage/documents/* storage/ 2>/dev/null || true
|
|
rm -rf storage/storage
|
|
echo "==> Storage structure fixed."
|
|
fi
|
|
|
|
# Ensure storage directory exists with correct ownership
|
|
mkdir -p storage
|
|
sudo chown -R www-data:www-data storage
|
|
|
|
echo "==> Enabling maintenance mode..."
|
|
touch maintenance.on
|
|
|
|
echo "==> Pulling image..."
|
|
sudo docker compose pull
|
|
|
|
echo "==> Starting container..."
|
|
sudo docker compose up -d
|
|
|
|
echo "==> Waiting for container to be ready..."
|
|
sleep 3
|
|
|
|
echo "==> Extracting maintenance page..."
|
|
mkdir -p public
|
|
sudo docker compose cp app:/var/www/html/public/maintenance.html public/maintenance.html
|
|
|
|
echo "==> Running migrations..."
|
|
sudo docker compose exec -T -u www-data app php bin/console doctrine:migrations:migrate --no-interaction
|
|
|
|
echo "==> Clearing cache..."
|
|
sudo docker compose exec -T -u www-data app php bin/console cache:clear --env=prod
|
|
sudo docker compose exec -T -u www-data app php bin/console cache:warmup --env=prod
|
|
|
|
echo "==> Disabling maintenance mode..."
|
|
rm -f maintenance.on
|
|
|
|
VERSION=$(sudo docker compose exec -T app cat config/version.yaml | grep 'app.version' | awk -F"'" '{print $2}')
|
|
echo "==> Deployed v${VERSION}"
|