108 lines
		
	
	
		
			No EOL
		
	
	
		
			5.5 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable file
		
	
	
	
	
			
		
		
	
	
			108 lines
		
	
	
		
			No EOL
		
	
	
		
			5.5 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable file
		
	
	
	
	
| #!/bin/bash
 | |
| #
 | |
| # HVAC Community Events Plugin Deployment Script
 | |
| # This script deploys the updated plugin with Zoho CRM integration fixes
 | |
| #
 | |
| 
 | |
| # Exit on error
 | |
| set -e
 | |
| 
 | |
| # Load environment variables
 | |
| if [ -f ".env" ]; then
 | |
|     source .env
 | |
| else
 | |
|     echo "Error: .env file not found"
 | |
|     exit 1
 | |
| fi
 | |
| 
 | |
| # Define variables
 | |
| PLUGIN_NAME="hvac-community-events"
 | |
| PLUGIN_ZIP="plugin-backups/hvac-community-events-updated.zip"
 | |
| PLUGIN_DIR="${UPSKILL_STAGING_PATH:-/home/974670.cloudwaysapps.com/uberrxmprk/public_html}/wp-content/plugins/${PLUGIN_NAME}"
 | |
| BACKUP_DIR="${UPSKILL_STAGING_PATH:-/home/974670.cloudwaysapps.com/uberrxmprk/public_html}/wp-content/plugins/${PLUGIN_NAME}.bak.$(date +%Y%m%d%H%M%S)"
 | |
| TEMP_DIR="${UPSKILL_STAGING_PATH:-/home/974670.cloudwaysapps.com/uberrxmprk/public_html}/wp-content/upgrade/temp-${PLUGIN_NAME}"
 | |
| 
 | |
| # Check if required variables are set
 | |
| if [ -z "${UPSKILL_STAGING_SSH_USER}" ] || [ -z "${UPSKILL_STAGING_IP}" ]; then
 | |
|     echo "Error: Required environment variables not set. Please check your .env file."
 | |
|     exit 1
 | |
| fi
 | |
| 
 | |
| # Display deployment info
 | |
| echo "=============================================="
 | |
| echo "HVAC Community Events Plugin Deployment"
 | |
| echo "=============================================="
 | |
| echo "Deploying to: ${UPSKILL_STAGING_SSH_USER}@${UPSKILL_STAGING_IP}"
 | |
| echo "Plugin path: ${PLUGIN_DIR}"
 | |
| echo "Backup path: ${BACKUP_DIR}"
 | |
| echo "=============================================="
 | |
| echo
 | |
| 
 | |
| # Check if plugin zip exists
 | |
| if [ ! -f "${PLUGIN_ZIP}" ]; then
 | |
|     echo "Error: Plugin ZIP file not found at ${PLUGIN_ZIP}"
 | |
|     exit 1
 | |
| fi
 | |
| 
 | |
| # Define SSH command with password if available
 | |
| if [ -n "${UPSKILL_STAGING_PASS}" ]; then
 | |
|     SSH_CMD="sshpass -p \"${UPSKILL_STAGING_PASS}\" ssh -o StrictHostKeyChecking=no"
 | |
| else
 | |
|     SSH_CMD="ssh -o StrictHostKeyChecking=no"
 | |
| fi
 | |
| 
 | |
| # Define SCP command with password if available
 | |
| if [ -n "${UPSKILL_STAGING_PASS}" ]; then
 | |
|     SCP_CMD="sshpass -p \"${UPSKILL_STAGING_PASS}\" scp -o StrictHostKeyChecking=no"
 | |
| else
 | |
|     SCP_CMD="scp -o StrictHostKeyChecking=no"
 | |
| fi
 | |
| 
 | |
| # Create deployment steps
 | |
| echo "Step 1: Checking server connection..."
 | |
| ${SSH_CMD} ${UPSKILL_STAGING_SSH_USER}@${UPSKILL_STAGING_IP} "echo Server connection successful."
 | |
| 
 | |
| echo "Step 2: Deactivating existing plugin..."
 | |
| ${SSH_CMD} ${UPSKILL_STAGING_SSH_USER}@${UPSKILL_STAGING_IP} "cd ${UPSKILL_STAGING_PATH:-/home/974670.cloudwaysapps.com/uberrxmprk/public_html} && wp plugin deactivate ${PLUGIN_NAME} --skip-plugins --skip-themes || echo 'Plugin not active or not found'"
 | |
| 
 | |
| echo "Step 3: Creating backup of existing plugin..."
 | |
| ${SSH_CMD} ${UPSKILL_STAGING_SSH_USER}@${UPSKILL_STAGING_IP} "if [ -d '${PLUGIN_DIR}' ]; then mv '${PLUGIN_DIR}' '${BACKUP_DIR}'; echo 'Backup created at ${BACKUP_DIR}'; else echo 'No existing plugin to backup'; fi"
 | |
| 
 | |
| echo "Step 4: Creating temporary directory..."
 | |
| ${SSH_CMD} ${UPSKILL_STAGING_SSH_USER}@${UPSKILL_STAGING_IP} "mkdir -p '${TEMP_DIR}'"
 | |
| # Verify the directory was created
 | |
| ${SSH_CMD} ${UPSKILL_STAGING_SSH_USER}@${UPSKILL_STAGING_IP} "ls -la '$(dirname ${TEMP_DIR})' && echo 'Temp directory created successfully'"
 | |
| 
 | |
| echo "Step 5: Uploading plugin package..."
 | |
| # First upload to home directory, then move to temp dir
 | |
| ${SCP_CMD} "${PLUGIN_ZIP}" ${UPSKILL_STAGING_SSH_USER}@${UPSKILL_STAGING_IP}:~/plugin.zip
 | |
| ${SSH_CMD} ${UPSKILL_STAGING_SSH_USER}@${UPSKILL_STAGING_IP} "mv ~/plugin.zip '${TEMP_DIR}/'"
 | |
| 
 | |
| echo "Step 6: Extracting plugin package..."
 | |
| ${SSH_CMD} ${UPSKILL_STAGING_SSH_USER}@${UPSKILL_STAGING_IP} "cd '${TEMP_DIR}' && unzip -q plugin.zip && mv ${PLUGIN_NAME}-updated '${PLUGIN_DIR}'"
 | |
| 
 | |
| echo "Step 7: Fixing file permissions..."
 | |
| ${SSH_CMD} ${UPSKILL_STAGING_SSH_USER}@${UPSKILL_STAGING_IP} "chmod -R 755 '${PLUGIN_DIR}'"
 | |
| 
 | |
| echo "Step 8: Cleaning up temporary files..."
 | |
| ${SSH_CMD} ${UPSKILL_STAGING_SSH_USER}@${UPSKILL_STAGING_IP} "rm -rf '${TEMP_DIR}'"
 | |
| 
 | |
| echo "Step 9: Creating .env file with Zoho credentials..."
 | |
| ${SSH_CMD} ${UPSKILL_STAGING_SSH_USER}@${UPSKILL_STAGING_IP} "echo 'ZOHO_CLIENT_ID=${ZOHO_CLIENT_ID}' > '${UPSKILL_STAGING_PATH:-/home/974670.cloudwaysapps.com/uberrxmprk/public_html}/.env' && echo 'ZOHO_CLIENT_SECRET=${ZOHO_CLIENT_SECRET}' >> '${UPSKILL_STAGING_PATH:-/home/974670.cloudwaysapps.com/uberrxmprk/public_html}/.env' && echo 'UPSKILL_STAGING_URL=https://upskill-staging.measurequick.com/' >> '${UPSKILL_STAGING_PATH:-/home/974670.cloudwaysapps.com/uberrxmprk/public_html}/.env' && chmod 640 '${UPSKILL_STAGING_PATH:-/home/974670.cloudwaysapps.com/uberrxmprk/public_html}/.env'"
 | |
| 
 | |
| echo "Step 10: Activating plugin..."
 | |
| ${SSH_CMD} ${UPSKILL_STAGING_SSH_USER}@${UPSKILL_STAGING_IP} "cd ${UPSKILL_STAGING_PATH:-/home/974670.cloudwaysapps.com/uberrxmprk/public_html} && wp plugin activate ${PLUGIN_NAME} --skip-plugins --skip-themes"
 | |
| 
 | |
| echo "Step 11: Flushing rewrite rules..."
 | |
| ${SSH_CMD} ${UPSKILL_STAGING_SSH_USER}@${UPSKILL_STAGING_IP} "cd ${UPSKILL_STAGING_PATH:-/home/974670.cloudwaysapps.com/uberrxmprk/public_html} && wp rewrite flush --skip-plugins --skip-themes"
 | |
| 
 | |
| echo "Step 12: Verifying installation..."
 | |
| ${SSH_CMD} ${UPSKILL_STAGING_SSH_USER}@${UPSKILL_STAGING_IP} "cd ${UPSKILL_STAGING_PATH:-/home/974670.cloudwaysapps.com/uberrxmprk/public_html} && wp plugin is-active ${PLUGIN_NAME} --skip-plugins --skip-themes && echo 'Plugin successfully activated' || echo 'WARNING: Plugin activation failed'"
 | |
| 
 | |
| echo
 | |
| echo "=============================================="
 | |
| echo "Deployment completed!"
 | |
| echo "=============================================="
 | |
| echo "Don't forget to verify the Zoho CRM integration at:"
 | |
| echo "https://upskill-staging.measurequick.com/wp-admin/admin.php?page=hvac-zoho-sync"
 | |
| echo "==============================================" |