From 5228faef4f040385dabe7427324022a1149dd27d Mon Sep 17 00:00:00 2001 From: bengizmo Date: Mon, 7 Apr 2025 07:19:22 -0300 Subject: [PATCH] Update deployment plan documentation --- docs/cloudways_deployment_plan.md | 50 +++++++++++++++++++++++++++++++ 1 file changed, 50 insertions(+) create mode 100644 docs/cloudways_deployment_plan.md diff --git a/docs/cloudways_deployment_plan.md b/docs/cloudways_deployment_plan.md new file mode 100644 index 00000000..61cff854 --- /dev/null +++ b/docs/cloudways_deployment_plan.md @@ -0,0 +1,50 @@ +# Cloudways Deployment Plan (Revised: Strategy B - Temp Path + Hooks) + +This document outlines the plan to transition the project development workflow to a Cloudways staging server and configure automated deployment via Git. This plan uses the **Revised Strategy B**, where the deployment branch (`cloudways-dev`) contains the plugin code plus essential development folders, and Cloudways uses a temporary deployment path with post-deployment hooks. + +## Phase 1: Project Cleanup & Restructure (on `cloudways-dev` branch) - Completed + +* **Goal:** Prepare the `cloudways-dev` branch for deployment while retaining essential development folders. +* **Actions Performed:** + 1. The branch was initially cleaned to contain only the `hvac-community-events` plugin folder. + 2. Essential development folders (`.roo/`, `docs/`, `memory-bank/`, `.roomodes`) were restored from commit `b1522bad`. + 3. A `.gitignore` file was added to ignore everything except `hvac-community-events/` and `.gitignore` itself (Note: This only affects untracked files; the restored folders are tracked and will be deployed). + 4. The resulting state (plugin + essential folders + `.gitignore`) was force-pushed to the remote `cloudways-dev` branch. + +## Phase 2: Cloudways Git Deployment Configuration (User Action - Strategy B) + +* **Goal:** Configure Cloudways to automatically deploy *only* the plugin from the `cloudways-dev` branch into the correct server path. +* **Prerequisites:** Cloudways SSH key generated and added as a Deploy Key in the GitHub repository settings (`bengizmo/upskill-event-manager`). +* **Actions (to be performed by the user in the Cloudways UI):** + 1. Navigate to the target Application Settings -> Deployment Via Git. + 2. Set the Git Remote Address (SSH URL): `git@github.com:bengizmo/upskill-event-manager.git` + 3. Select the Branch: `cloudways-dev` + 4. Set the Deployment Path to a **temporary location**: e.g., `/home/master/git_deploys/upskill-event-manager` + 5. Add **Post-Deployment Commands** to copy *only* the plugin to the correct location: + ```bash + # Remove the old plugin directory (use -f to avoid errors if it doesn't exist) + echo "Removing existing plugin directory..." + rm -rf /home/master/applications/uberrxmprk/public_html/wp-content/plugins/hvac-community-events + + # Copy the newly deployed plugin directory from the temporary location + echo "Copying new plugin directory..." + cp -R /home/master/git_deploys/upskill-event-manager/hvac-community-events /home/master/applications/uberrxmprk/public_html/wp-content/plugins/ + + # Optional: Clear cache if WP-CLI is installed + # echo "Flushing WP cache..." + # wp cache flush --path=/home/master/applications/uberrxmprk/public_html || true + + echo "Plugin deployment script finished." + ``` + 6. Click "Start Deployment" to perform the initial deployment. + 7. Verify that *only* the `hvac-community-events` directory appears correctly in `/home/master/applications/uberrxmprk/public_html/wp-content/plugins/` on the server via SSH/SFTP or the WordPress admin panel. Check that `docs/`, `memory-bank/` etc. are *not* copied into the plugins directory. + +## Phase 3: Workflow Considerations + +* **Branching:** The `cloudways-dev` branch contains the plugin and essential development files. +* **Development:** Make code changes on this branch or your primary development branch. If using a separate primary branch, ensure changes are merged/cherry-picked to `cloudways-dev` before deployment. +* **Deployment Trigger:** Push the updated `cloudways-dev` branch to trigger the Cloudways deployment (if auto-deploy is enabled) or manually trigger deployment in the Cloudways UI. + +## Phase 4: Memory Bank Update (Roo Action) + +* The Memory Bank files (`decisionLog.md`, `activeContext.md`, `progress.md`) on the main development branch will be updated to reflect this final strategy. \ No newline at end of file