Files
sibedas/deploy.sh
2025-06-13 13:36:27 +00:00

59 lines
1.8 KiB
Bash

#!/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:-"root"}
SERVER_HOST=${2:-"157.245.48.15"}
SERVER_PATH=${3:-"/var/www/pupr"}
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 "🔧 Fixing permissions on server..."
ssh $SERVER_USER@$SERVER_HOST "cd $SERVER_PATH && chmod +x fix-permissions.sh && sudo ./fix-permissions.sh $SERVER_PATH"
echo "📦 Installing composer dependencies on server..."
ssh $SERVER_USER@$SERVER_HOST "cd $SERVER_PATH && composer install --no-dev --optimize-autoloader"
echo "🎉 Deployment completed successfully!"
echo ""
echo "✅ Permissions have been automatically fixed!"
echo "✅ Composer dependencies installed!"
echo "✅ Laravel caches optimized!"
echo ""
echo "🌐 Your application should now be accessible without permission errors!"