Deployments

Every time you push code to your repository, Deploy Forge can automatically deploy your changes to WordPress. This page explains the deployment lifecycle and how to manage deployments.

Deployment Lifecycle

A deployment progresses through several states:


┌─────────┐    ┌──────────┐    ┌─────────┐
│ Pending │ ──▶│ Building │ ──▶│ Success │
└─────────┘    └────┬─────┘    └────┬────┘
                    │               │
        cancel ─────┘               │ rollback
                    │               │
                    v               v
              ┌───────────┐   ┌─────────────┐
              │ Cancelled │   │ Rolled Back │
              └───────────┘   └─────────────┘
                    │
                 failure
                    │
                    v
              ┌───────────┐
              │  Failed   │
              └───────────┘

How Deployments Work

GitHub Actions Method

  1. You push code to your configured branch
  2. GitHub webhook notifies Deploy Forge
  3. Deploy Forge triggers your GitHub Actions workflow
  4. Workflow builds your theme and uploads an artifact
  5. Deploy Forge downloads the artifact
  6. Current theme is backed up (if enabled)
  7. New files are deployed to theme directory
  8. Status updates to Success

Direct Clone Method

  1. You push code to your configured branch
  2. GitHub webhook notifies Deploy Forge
  3. Deploy Forge downloads your repository directly
  4. Current theme is backed up (if enabled)
  5. Files are deployed to theme directory
  6. Status updates to Success

Direct Clone skips the build step entirely—deployments complete in seconds.

Triggering Deployments

Automatic (Webhook)

When Auto-deploy is enabled, deployments trigger automatically on push:

  1. Push to your configured branch
  2. GitHub sends a webhook to your WordPress site
  3. Deploy Forge validates the webhook signature
  4. Deployment starts automatically

Manual

From Deploy Forge → Dashboard in WordPress admin:

  1. Click Deploy Now
  2. Confirm the deployment
  3. Watch progress in real-time

Manual Approval Mode

When enabled, webhook pushes create pending deployments instead of deploying immediately:

  1. Push triggers a pending deployment
  2. You review the commit in the dashboard
  3. Click Approve to deploy, or Cancel to skip
  4. Approved deployments proceed normally

This gives you control over what gets deployed to production.

Viewing Deployment History

Go to Deploy Forge → History to see all deployments:

  • Status - Success, failed, cancelled, rolled back
  • Commit - Hash, message, and author
  • Triggered by - Webhook or manual
  • Timestamp - When the deployment ran
  • Actions - Rollback (for successful deployments)

Click any deployment to view detailed logs.

Concurrency

Only one deployment can be building at a time:

  • Manual deployments are blocked if one is already building
  • Webhook deployments automatically cancel the existing build and start fresh

This prevents race conditions and ensures deployments complete in order.

Cancelling Deployments

You can cancel deployments in Pending or Building state:

  1. Go to the Dashboard or History page
  2. Click Cancel on the in-progress deployment
  3. Deploy Forge cancels the GitHub Actions workflow
  4. Status updates to Cancelled

No files are deployed when a deployment is cancelled.