119 lines
No EOL
3.9 KiB
Bash
Executable file
119 lines
No EOL
3.9 KiB
Bash
Executable file
#!/bin/bash
|
|
|
|
# Certificate Fixes Deployment Script
|
|
# This script deploys certificate-related fixes to the staging server
|
|
|
|
# Define colors for output
|
|
GREEN="\033[0;32m"
|
|
RED="\033[0;31m"
|
|
YELLOW="\033[0;33m"
|
|
CYAN="\033[0;36m"
|
|
NC="\033[0m" # No Color
|
|
|
|
# Function to print colorful status messages
|
|
function echo_status() {
|
|
local color=""
|
|
case "$2" in
|
|
"success") color=$GREEN ;;
|
|
"error") color=$RED ;;
|
|
"warning") color=$YELLOW ;;
|
|
"info") color=$CYAN ;;
|
|
*) color=$NC ;;
|
|
esac
|
|
|
|
echo -e "${color}[$2] $1${NC}"
|
|
}
|
|
|
|
# SSH connection details
|
|
REMOTE_HOST="wordpress-974670-5399585.cloudwaysapps.com"
|
|
REMOTE_USER="master_vbwpndkhyx"
|
|
REMOTE_PLUGIN_PATH="/home/master/applications/vbwpndkhyx/public_html/wp-content/plugins/hvac-community-events"
|
|
LOCAL_PLUGIN_PATH="./wordpress/wp-content/plugins/hvac-community-events"
|
|
PLUGIN_SLUG="hvac-community-events"
|
|
|
|
echo_status "Starting certificate fixes deployment..." "info"
|
|
|
|
# Validate paths exist
|
|
if [ ! -d "$LOCAL_PLUGIN_PATH" ]; then
|
|
echo_status "Error: Local plugin directory does not exist: $LOCAL_PLUGIN_PATH" "error"
|
|
exit 1
|
|
fi
|
|
|
|
if [ ! -d "$LOCAL_PLUGIN_PATH/templates/certificates" ]; then
|
|
echo_status "Error: Local certificate templates directory does not exist" "error"
|
|
exit 1
|
|
fi
|
|
|
|
if [ ! -d "$LOCAL_PLUGIN_PATH/includes/certificates" ]; then
|
|
echo_status "Error: Local certificate includes directory does not exist" "error"
|
|
exit 1
|
|
fi
|
|
|
|
# Create temp directory for our fix script
|
|
echo_status "Preparing fix script..." "info"
|
|
mkdir -p "$LOCAL_PLUGIN_PATH/tmp-fixes"
|
|
cp "./bin/fix-certificate-reports.php" "$LOCAL_PLUGIN_PATH/tmp-fixes/"
|
|
|
|
# Create backup of plugin directory on staging server
|
|
echo_status "Creating backup of certificate files on staging server..." "info"
|
|
ssh "$REMOTE_USER@$REMOTE_HOST" "mkdir -p \"${REMOTE_PLUGIN_PATH}/backups\" && \
|
|
cp -r \"${REMOTE_PLUGIN_PATH}/templates/certificates\" \"${REMOTE_PLUGIN_PATH}/backups/certificates_templates_backup_$(date +%Y%m%d%H%M%S)\" && \
|
|
cp -r \"${REMOTE_PLUGIN_PATH}/includes/certificates\" \"${REMOTE_PLUGIN_PATH}/backups/certificates_includes_backup_$(date +%Y%m%d%H%M%S)\""
|
|
|
|
if [ $? -ne 0 ]; then
|
|
echo_status "Warning: Failed to create backup on staging server." "warning"
|
|
fi
|
|
|
|
# Rsync the certificate files
|
|
echo_status "Deploying certificate fixes to staging server..." "info"
|
|
|
|
# Sync certificate template files
|
|
rsync -avz --delete \
|
|
"$LOCAL_PLUGIN_PATH/templates/certificates/" \
|
|
"$REMOTE_USER@$REMOTE_HOST:$REMOTE_PLUGIN_PATH/templates/certificates/"
|
|
|
|
if [ $? -ne 0 ]; then
|
|
echo_status "Error: Failed to sync certificate templates." "error"
|
|
exit 1
|
|
fi
|
|
|
|
# Sync certificate class files
|
|
rsync -avz --delete \
|
|
"$LOCAL_PLUGIN_PATH/includes/certificates/" \
|
|
"$REMOTE_USER@$REMOTE_HOST:$REMOTE_PLUGIN_PATH/includes/certificates/"
|
|
|
|
if [ $? -ne 0 ]; then
|
|
echo_status "Error: Failed to sync certificate classes." "error"
|
|
exit 1
|
|
fi
|
|
|
|
# Sync fix script
|
|
rsync -avz \
|
|
"$LOCAL_PLUGIN_PATH/tmp-fixes/fix-certificate-reports.php" \
|
|
"$REMOTE_USER@$REMOTE_HOST:$REMOTE_PLUGIN_PATH/fix-certificate-reports.php"
|
|
|
|
if [ $? -ne 0 ]; then
|
|
echo_status "Error: Failed to sync fix script." "error"
|
|
exit 1
|
|
fi
|
|
|
|
# Run fix script on remote server
|
|
echo_status "Running certificate fix script on staging server..." "info"
|
|
ssh "$REMOTE_USER@$REMOTE_HOST" "cd /home/master/applications/vbwpndkhyx/public_html && php -f $REMOTE_PLUGIN_PATH/fix-certificate-reports.php"
|
|
|
|
if [ $? -ne 0 ]; then
|
|
echo_status "Warning: Fix script execution may have encountered issues." "warning"
|
|
fi
|
|
|
|
# Clean up
|
|
echo_status "Cleaning up temporary files..." "info"
|
|
rm -rf "$LOCAL_PLUGIN_PATH/tmp-fixes"
|
|
ssh "$REMOTE_USER@$REMOTE_HOST" "rm -f $REMOTE_PLUGIN_PATH/fix-certificate-reports.php"
|
|
|
|
echo_status "Certificate fixes deployment completed successfully!" "success"
|
|
|
|
# Run final test to verify the fixes
|
|
echo_status "Running final verification test..." "info"
|
|
node ./bin/final-test.js
|
|
|
|
echo_status "All tasks completed. Please check verification results above." "success" |