#!/bin/bash # Quick Production Code Sync # Usage: ./quick-sync.sh # Note: Does NOT update .env.production (use update-env.sh for that) set -e SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" PROJECT_ROOT="$(dirname "$(dirname "$SCRIPT_DIR")")" INFRA_DIR="$PROJECT_ROOT/deployment/infrastructure" cd "$PROJECT_ROOT" echo "🔄 Quick sync to production (code only)..." echo "📍 Project root: $PROJECT_ROOT" echo "" # Sync code changes (excludes .env files and development artifacts) rsync -avz \ --exclude '.env' \ --exclude '.env.local' \ --exclude '.env.development' \ --exclude '.env.production' \ --exclude 'node_modules/' \ --exclude '.git/' \ --exclude 'vendor/' \ --exclude 'tests/' \ --exclude '.idea/' \ --exclude '.vscode/' \ --exclude '*.log' \ ./ deploy@94.16.110.151:/home/deploy/michaelschiemer/current/ echo "" echo "🔄 Restarting PHP and web containers..." ansible web_servers \ -i "$INFRA_DIR/inventories/production/hosts.yml" \ -m shell \ -a "cd /home/deploy/michaelschiemer/current && docker compose restart php web" \ --vault-password-file "$INFRA_DIR/.vault_pass" echo "" echo "✅ Quick sync complete!" echo "" echo "⚠️ Note: This does NOT update .env.production" echo " To update configuration, use: ./update-env.sh"