CD Sanity Checklist

Use this when deployment does not work. Check these in order.

AreaWhat to Check
BranchDid you push to the branch that is supposed to deploy?
CIDid the CI workflow run, and did it pass?
CD TriggerDid the CD workflow actually start after CI?
SecretsAre DEPLOY_HOST, DEPLOY_USER, DEPLOY_PORT, DEPLOY_PATH, and DEPLOY_SSH_KEY all set correctly in GitHub?
SSH AccessCan the deploy user SSH into the server with the expected key?
Server PathDoes the deployed repo actually exist at DEPLOY_PATH?
Repo StateOn the server, does git status look clean and is the correct branch checked out?
PullDoes git pull work manually in the deployed repo?
DependenciesDid npm install run successfully in root, client, and server where needed?
Frontend BuildDoes cd client && npm run build work manually on the server?
PortIs the app configured to run on the expected 41xx port?
PM2Does pm2 list show the expected process name?
RestartDoes pm2 restart <name> work manually?
Live AppAfter deployment, does http://10.192.145.179:41xx actually show the new change?
CacheIf the deployment succeeded but the page looks old, did you hard refresh the browser?

Fast Manual Debug Path

If GitHub says deployment failed, log into the server and try these by hand:

cd /path/to/deployed/repo
git status
git pull
cd client && npm install && npm run build
cd ../server && npm install
pm2 restart your-process-name
pm2 list

Four Common Failure Categories

1. SSH problem

Symptoms:

  • cannot connect
  • permission denied
  • host verification failed

Check:

  • SSH key
  • username
  • host
  • port
  • authorized_keys

2. Repo problem

Symptoms:

  • git pull fails
  • wrong branch
  • detached head
  • local changes blocking pull

Check:

  • correct branch
  • clean working tree
  • correct remote

3. Build problem

Symptoms:

  • frontend build fails
  • missing dependency
  • code works locally but not on server

Check:

  • install steps
  • environment assumptions
  • exact error in build log

4. Process problem

Symptoms:

  • deployment runs but site does not update
  • backend is not serving
  • PM2 restart fails

Check:

  • PM2 process name
  • app port
  • PM2 logs
  • whether Express is serving the built frontend

One-line Reminder

If CD fails, find out whether the problem is SSH, repo state, build, or process restart.

Scroll to Top