36 lines
853 B
Bash
36 lines
853 B
Bash
|
|
#!/bin/bash
|
||
|
|
set -e
|
||
|
|
|
||
|
|
# Configuration
|
||
|
|
SERVER_USER="asd"
|
||
|
|
SERVER_HOST="asd.com"
|
||
|
|
SERVER_PASSWORD="asd1234"
|
||
|
|
SERVER_PATH="/home/asd/public_leo/public" # Public folders location on server
|
||
|
|
|
||
|
|
# Local paths
|
||
|
|
LOCAL_PUBLIC="./public"
|
||
|
|
LOCAL_MANIFEST="./mix-manifest.json"
|
||
|
|
|
||
|
|
# Clear screen
|
||
|
|
clear
|
||
|
|
|
||
|
|
# Build assets
|
||
|
|
echo "Building assets..."
|
||
|
|
|
||
|
|
bun run dev
|
||
|
|
|
||
|
|
echo "Starting deployment..."
|
||
|
|
|
||
|
|
# Sync public folder (js, css, images, etc.)
|
||
|
|
echo "Syncing public folder..."
|
||
|
|
sshpass -p "$SERVER_PASSWORD" rsync -avz --progress \
|
||
|
|
--exclude 'storage' \
|
||
|
|
--exclude '.htaccess' \
|
||
|
|
"$LOCAL_PUBLIC/" "$SERVER_USER@$SERVER_HOST:$SERVER_PATH/"
|
||
|
|
|
||
|
|
# Upload mix-manifest.json specifically (if not already synced)
|
||
|
|
echo "Uploading mix-manifest.json..."
|
||
|
|
sshpass -p "$SERVER_PASSWORD" scp "$LOCAL_MANIFEST" \
|
||
|
|
"$SERVER_USER@$SERVER_HOST:$SERVER_PATH/mix-manifest.json"
|
||
|
|
|
||
|
|
echo "Deployment complete!"
|