52 lines
1.5 KiB
Bash
Executable File
52 lines
1.5 KiB
Bash
Executable File
#!/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" |