Skip to content

Deployment

Deployment is the process of moving an approved technical change into an environment where it can run, including releasing changes to the live production website.

Deployment is the process of moving an approved website or application change into an environment where it can run.

Most importantly, a production deployment makes a change available on the live site.

What Can Be Deployed

A deployment may include:

  • Code
  • Theme changes
  • Templates
  • CSS
  • JavaScript
  • Configuration
  • Database migrations
  • Static assets
  • Server configuration

Content published through a CMS may use a different publishing workflow and may not require a code deployment.

A Simple Deployment Workflow

Change code
    ↓
Version Control
    ↓
Staging
    ↓
Test
    ↓
Deploy
    ↓
Production

More automated systems may run checks and create deployments whenever approved changes are merged.

GitHub's deployment documentation describes protected branches, required status checks, reviews, and deployment environments as mechanisms for controlling how code moves toward release. GitHub Docs: Deploying code

Deployment vs. Publishing

Publishing usually refers to making content live through a Website CMS.

Deployment normally refers to releasing technical changes to the application or website environment.

The distinction depends on the platform.

A static site may rebuild and deploy whenever an editor publishes content.

Why It Matters

Deployment is a transition between states.

Before deployment:

Production works one way.

After deployment:

Production works another way.

A controlled deployment process makes that transition understandable and repeatable.

Common Problems

Common problems include:

  • Uploading files manually without tracking them
  • Production different from Version Control
  • Deployment includes unrelated changes
  • No testing
  • Database changes cannot be reversed
  • No Rollback plan
  • Credentials embedded in deployment files
  • Production only tested after customers report a problem

How to Improve

Keep deployments reproducible.

For meaningful changes:

  1. Record change in Version Control
  2. Test appropriately
  3. Confirm Backup & Restore requirements
  4. Deploy
  5. Verify production
  6. Monitor
  7. Roll back if necessary