Initial commit - Mold Cost Calculator Application (Security Fixed)
This commit is contained in:
@@ -0,0 +1,47 @@
|
||||
#!/bin/bash
|
||||
# A universal deployment script that can be run from a local machine or directly on the server.
|
||||
#
|
||||
# - When run locally, it will SSH to the server and execute the deployment.
|
||||
# - When run on the server, it will execute the deployment directly.
|
||||
|
||||
set -e
|
||||
|
||||
# --- Configuration ---
|
||||
REMOTE_USER="jimmyg"
|
||||
REMOTE_HOST="server1"
|
||||
REMOTE_DIR="/home/jimmyg/mold_cost_online_tool"
|
||||
SERVER_HOSTNAME="server1" # The hostname of the production server
|
||||
|
||||
# --- Deployment Logic ---
|
||||
deploy_commands() {
|
||||
echo ">>> [1/4] Navigating to the application directory..."
|
||||
cd "$REMOTE_DIR"
|
||||
|
||||
echo ">>> [2/4] Pulling latest changes from Git..."
|
||||
git pull
|
||||
|
||||
echo ">>> [3/4] Building new container image with the latest code..."
|
||||
podman-compose build
|
||||
|
||||
echo ">>> [4/4] Restarting services with the updated image..."
|
||||
podman-compose down
|
||||
podman-compose up -d
|
||||
|
||||
echo ""
|
||||
echo "✅ Deployment finished successfully on $REMOTE_HOST!"
|
||||
}
|
||||
|
||||
# --- Execution ---
|
||||
# Get the hostname of the machine this script is running on
|
||||
current_hostname=$(hostname)
|
||||
|
||||
if [ "$current_hostname" == "$SERVER_HOSTNAME" ]; then
|
||||
echo "🚀 Running deployment script directly on the server ($current_hostname)..."
|
||||
deploy_commands
|
||||
else
|
||||
echo "🚀 Running deployment script from local machine ($current_hostname)..."
|
||||
echo "Connecting to $REMOTE_USER@$REMOTE_HOST..."
|
||||
# Using 'bash -s' allows us to execute the function on the remote server.
|
||||
# We pass the function definition and then call it.
|
||||
ssh "$REMOTE_USER@$REMOTE_HOST" "$(declare -f deploy_commands); deploy_commands"
|
||||
fi
|
||||
Reference in New Issue
Block a user