upskill-event-manager/wordpress-dev/bin/deploy-certificate-fixes-v2.sh

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"