#!/bin/bash # Deploy script untuk build di local dan upload ke server # Usage: ./deploy.sh [server-user] [server-host] [server-path] # Default values (ganti sesuai server Anda) SERVER_USER=${1:-"your-username"} SERVER_HOST=${2:-"your-server.com"} SERVER_PATH=${3:-"/path/to/your/project"} echo "๐Ÿš€ Starting deployment process..." # 1. Clean previous build echo "๐Ÿงน Cleaning previous build..." rm -rf public/build/* # 2. Install dependencies (jika belum) echo "๐Ÿ“ฆ Installing dependencies..." npm ci --production=false # 3. Build project echo "๐Ÿ”จ Building project..." npm run build # Check if build was successful if [ $? -ne 0 ]; then echo "โŒ Build failed!" exit 1 fi echo "โœ… Build completed successfully!" # 4. Upload build files to server echo "๐Ÿ“ค Uploading build files to server..." rsync -avz --progress --delete public/build/ $SERVER_USER@$SERVER_HOST:$SERVER_PATH/public/build/ # 5. Upload other necessary files (optional) echo "๐Ÿ“ค Uploading other files..." rsync -avz --progress \ --exclude='node_modules' \ --exclude='.git' \ --exclude='public/build' \ --exclude='storage/logs/*' \ --exclude='bootstrap/cache/*' \ ./ $SERVER_USER@$SERVER_HOST:$SERVER_PATH/ echo "๐ŸŽ‰ Deployment completed successfully!" echo "Don't forget to run the following commands on the server:" echo " - composer install --no-dev --optimize-autoloader" echo " - php artisan config:cache" echo " - php artisan route:cache" echo " - php artisan view:cache"