deploy helper
This commit is contained in:
parent
9950201dd7
commit
6b34d08cae
3 changed files with 69 additions and 0 deletions
14
.gitignore
vendored
Normal file
14
.gitignore
vendored
Normal file
|
|
@ -0,0 +1,14 @@
|
||||||
|
# Deployment configuration (contains sensitive server details)
|
||||||
|
deploy.config
|
||||||
|
|
||||||
|
# OS files
|
||||||
|
.DS_Store
|
||||||
|
Thumbs.db
|
||||||
|
|
||||||
|
# Editor files
|
||||||
|
.vscode/
|
||||||
|
.idea/
|
||||||
|
*.swp
|
||||||
|
*.swo
|
||||||
|
*~
|
||||||
|
|
||||||
21
deploy.config.example
Normal file
21
deploy.config.example
Normal file
|
|
@ -0,0 +1,21 @@
|
||||||
|
# Deployment Configuration
|
||||||
|
# Copy this file to deploy.config and fill in your server details
|
||||||
|
# deploy.config is gitignored to keep your credentials safe
|
||||||
|
|
||||||
|
# Remote server hostname or IP address
|
||||||
|
REMOTE_HOST="example.com"
|
||||||
|
|
||||||
|
# SSH username for the remote server
|
||||||
|
REMOTE_USER="username"
|
||||||
|
|
||||||
|
# Remote path where the website should be deployed
|
||||||
|
# This should be the directory served by your webserver (e.g., /var/www/html, /home/username/public_html)
|
||||||
|
REMOTE_PATH="/var/www/html"
|
||||||
|
|
||||||
|
# Optional: Path to SSH private key (if not using default ~/.ssh/id_rsa)
|
||||||
|
# Leave empty to use default SSH key
|
||||||
|
SSH_KEY=""
|
||||||
|
|
||||||
|
# Optional: SSH port (defaults to 22 if not specified)
|
||||||
|
# SSH_PORT="22"
|
||||||
|
|
||||||
34
deploy.sh
Executable file
34
deploy.sh
Executable file
|
|
@ -0,0 +1,34 @@
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
# Deployment script for pablohere website
|
||||||
|
# This script syncs the public folder to a remote webserver
|
||||||
|
|
||||||
|
set -e # Exit on error
|
||||||
|
|
||||||
|
# Load deployment configuration
|
||||||
|
if [ ! -f "deploy.config" ]; then
|
||||||
|
echo "Error: deploy.config file not found!"
|
||||||
|
echo "Please copy deploy.config.example to deploy.config and fill in your server details."
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
source deploy.config
|
||||||
|
|
||||||
|
# Validate required variables
|
||||||
|
if [ -z "$REMOTE_HOST" ] || [ -z "$REMOTE_USER" ] || [ -z "$REMOTE_PATH" ]; then
|
||||||
|
echo "Error: Required variables not set in deploy.config"
|
||||||
|
echo "Please ensure REMOTE_HOST, REMOTE_USER, and REMOTE_PATH are set."
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Use rsync to sync files
|
||||||
|
echo "Deploying public folder to $REMOTE_USER@$REMOTE_HOST:$REMOTE_PATH"
|
||||||
|
rsync -avz --delete \
|
||||||
|
--exclude='.git' \
|
||||||
|
--exclude='.DS_Store' \
|
||||||
|
$SSH_OPTS \
|
||||||
|
public/ \
|
||||||
|
$REMOTE_USER@$REMOTE_HOST:$REMOTE_PATH
|
||||||
|
|
||||||
|
echo "Deployment complete!"
|
||||||
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue