chore: complete update
This commit is contained in:
61
build.sh
Executable file
61
build.sh
Executable file
@@ -0,0 +1,61 @@
|
||||
#!/bin/bash
|
||||
set -e
|
||||
|
||||
echo "🚀 Starting Docker build with network resilience..."
|
||||
|
||||
# Prüfe Netzwerk-Konnektivität
|
||||
echo "🔍 Checking network connectivity..."
|
||||
if ! curl -s --connect-timeout 5 https://registry-1.docker.io/v2/ > /dev/null; then
|
||||
echo "⚠️ Docker Hub nicht erreichbar - verwende lokale Images"
|
||||
export DOCKER_BUILDKIT=0
|
||||
export COMPOSE_DOCKER_CLI_BUILD=0
|
||||
fi
|
||||
|
||||
# DNS-Cache leeren
|
||||
echo "🔄 Flushing DNS cache..."
|
||||
sudo systemctl flush-dns 2>/dev/null || sudo systemd-resolve --flush-caches 2>/dev/null || true
|
||||
|
||||
# Docker daemon neu starten falls nötig
|
||||
if ! docker info > /dev/null 2>&1; then
|
||||
echo "🔄 Restarting Docker daemon..."
|
||||
sudo systemctl restart docker
|
||||
sleep 5
|
||||
fi
|
||||
|
||||
# Versuche erst mit Pull
|
||||
echo "📥 Attempting to pull base images..."
|
||||
if timeout 60 docker-compose pull --ignore-pull-failures; then
|
||||
echo "✅ Images pulled successfully"
|
||||
else
|
||||
echo "⚠️ Pull failed - building with local images only"
|
||||
fi
|
||||
|
||||
# Build mit verschiedenen Strategien
|
||||
echo "🏗️ Building containers..."
|
||||
|
||||
# Strategie 1: Normaler Build
|
||||
if timeout 300 docker-compose build --parallel; then
|
||||
echo "✅ Build completed successfully!"
|
||||
exit 0
|
||||
fi
|
||||
|
||||
echo "⚠️ Normal build failed - trying fallback strategies..."
|
||||
|
||||
# Strategie 2: Ohne Cache und Pull
|
||||
if timeout 300 docker-compose build --no-cache --pull=false; then
|
||||
echo "✅ Build completed with fallback strategy!"
|
||||
exit 0
|
||||
fi
|
||||
|
||||
# Strategie 3: Sequenzieller Build
|
||||
echo "🔄 Trying sequential build..."
|
||||
for service in web php db redis queue-worker; do
|
||||
echo "Building $service..."
|
||||
if timeout 300 docker-compose build --no-cache --pull=false "$service"; then
|
||||
echo "✅ $service built successfully"
|
||||
else
|
||||
echo "❌ Failed to build $service"
|
||||
fi
|
||||
done
|
||||
|
||||
echo "🏁 Build process completed"
|
||||
Reference in New Issue
Block a user