This script automates the Docker build and testing process: - Stops and removes old containers - Removes old images to force rebuild - Builds without cache - Starts services - Shows logs - Waits for server to be ready - Tests health endpoints
41 lines
1.1 KiB
Bash
41 lines
1.1 KiB
Bash
#!/bin/bash
|
|
set -e
|
|
|
|
echo "🧪 Testing Docker build with cargo-watch 8.4.0..."
|
|
echo ""
|
|
|
|
cd backend
|
|
|
|
echo "📋 Step 1: Clean up old containers and images..."
|
|
docker compose -f docker-compose.dev.yml down 2>/dev/null || true
|
|
docker rmi normogen-backend-dev 2>/dev/null || true
|
|
echo "✓ Cleanup complete"
|
|
echo ""
|
|
|
|
echo "📋 Step 2: Building Docker image (this will take a few minutes)..."
|
|
docker compose -f docker-compose.dev.yml build --no-cache
|
|
|
|
echo ""
|
|
echo "✓ Build complete!"
|
|
echo ""
|
|
|
|
echo "📋 Step 3: Starting services..."
|
|
docker compose -f docker-compose.dev.yml up -d
|
|
|
|
echo ""
|
|
echo "📋 Step 4: Waiting for services to be ready..."
|
|
sleep 5
|
|
|
|
echo ""
|
|
echo "📋 Step 5: Checking service status..."
|
|
docker compose -f docker-compose.dev.yml ps
|
|
|
|
echo ""
|
|
echo "📋 Step 6: Showing backend logs..."
|
|
docker compose -f docker-compose.dev.yml logs --tail=20 backend
|
|
|
|
echo ""
|
|
echo "✅ Done! Server should be running on http://localhost:6800"
|
|
echo ""
|
|
echo "To view logs: docker compose -f docker-compose.dev.yml logs -f backend"
|
|
echo "To stop: docker compose -f docker-compose.dev.yml down"
|