Files
CompanySite/QUICK-DEPLOY.md
T
Clintchiz d402256547
Deploy to Production / Build & Verify (push) Failing after 5m56s
Ping Search Engines / Notify Search Engines (push) Successful in 2s
Deploy to Production / Pre-Deploy Tests (push) Has been skipped
Deploy to Production / Deploy to Railway (push) Has been skipped
Deploy to Production / Deploy to Render (push) Has been skipped
Deploy to Production / Deploy to VPS (PM2) (push) Has been skipped
Deploy to Production / Deploy to Fly.io (push) Has been skipped
Deploy to Production / Post-Deploy Verification (push) Has been skipped
Deploy to Production / Notify on Failure (push) Successful in 2s
E2E Test Suite / Critical User Journeys (push) Has been skipped
E2E Test Suite / API Integration Tests (push) Has been skipped
E2E Test Suite / Smoke Tests (P0) (push) Failing after 11m26s
E2E Test Suite / Form Interaction Tests (push) Failing after 11m42s
E2E Test Suite / Destructive & Chaos Tests (push) Failing after 12m2s
E2E Test Suite / Cross-Browser Regression (chromium) (push) Failing after 16m14s
E2E Test Suite / Cross-Browser Regression (webkit) (push) Failing after 17m45s
E2E Test Suite / Cross-Browser Regression (firefox) (push) Failing after 25m23s
E2E Test Suite / Security Header Tests (push) Failing after 7m55s
E2E Test Suite / Test Report Summary (push) Failing after 20s
E2E Test Suite / Mobile Device Tests (push) Failing after 2h49m9s
Uptime Monitor / Health & Response Time (push) Failing after 2s
Uptime Monitor / SSL Certificate (push) Successful in 2s
Uptime Monitor / Send Alerts (push) Failing after 3s
Uptime Monitor / Record Uptime Success (push) Has been skipped
First Init
2026-03-21 16:46:46 +05:30

4.2 KiB

Quick Deploy Reference - Domain Migration

🚀 For: DevOps / Deployment Team Domain: workroot.com → workroot.in


🎯 Pre-Flight Checklist (5 minutes)

# 1. Verify DNS is propagated
dig workroot.in +short
# Should return: [YOUR_SERVER_IP]

# 2. Check SSL certificate exists
sudo certbot certificates | grep workroot.in
# Should show valid certificate

# 3. Verify code is up to date
cd /path/to/workroot-website
git status
git log -1
# Should show latest migration commit

Deployment Steps (15 minutes)

1. Pull Latest Code (2 min)

cd /path/to/workroot-website
git pull origin main

2. Install & Build (5 min)

npm ci --only=production
npm run build

3. Verify Build (1 min)

# Confirm new domain in build
grep -r "workroot.in" dist/client/ | head -5

# Confirm no old domain
! grep -r "workroot.com" dist/client/ || echo "⚠️  Old domain found!"

4. Update Nginx (3 min)

# Backup current config
sudo cp /etc/nginx/sites-available/workroot /etc/nginx/sites-available/workroot.bak

# Apply new config (see DOMAIN-MIGRATION-CHECKLIST.md Phase 3)
sudo nano /etc/nginx/sites-available/workroot

# Test configuration
sudo nginx -t

# Reload nginx
sudo systemctl reload nginx

5. Restart Application (2 min)

# Option A: PM2
pm2 restart workroot-website
pm2 save

# Option B: Systemd
sudo systemctl restart workroot

# Option C: Docker
docker-compose restart

6. Verify Deployment (2 min)

# Check application is running
curl -I https://workroot.in
# Should return: HTTP/2 200

# Check health endpoint
curl https://workroot.in/api/health.json
# Should return: {"status":"healthy",...}

# Check sitemap
curl https://workroot.in/api/sitemap.xml | grep "<loc>" | head -3
# Should contain: https://workroot.in URLs

Post-Deployment Tests (5 minutes)

# Test redirects from old domain
curl -I https://workroot.com
# Should return: HTTP/1.1 301 Moved Permanently
# Location: https://workroot.in

curl -I http://workroot.com
# Should return: HTTP/1.1 301 Moved Permanently

curl -I https://www.workroot.com
# Should return: HTTP/1.1 301 Moved Permanently
# Location: https://workroot.in

# Test SSL
echo | openssl s_client -connect workroot.in:443 -servername workroot.in 2>/dev/null | grep "Verify return code"
# Should return: Verify return code: 0 (ok)

# Check logs
pm2 logs workroot-website --lines 50
# Should show no errors

🔥 Quick Rollback (Emergency)

# 1. Restore nginx config
sudo cp /etc/nginx/sites-available/workroot.bak /etc/nginx/sites-available/workroot
sudo nginx -t && sudo systemctl reload nginx

# 2. Deploy previous version
git log --oneline -10  # Find previous commit
git checkout [PREVIOUS_COMMIT_HASH]
npm ci --only=production
npm run build
pm2 restart workroot-website

# 3. Verify
curl -I https://workroot.com  # Should work

📊 Health Monitoring

# Watch logs live
pm2 logs workroot-website

# Check server resources
htop
df -h

# Monitor nginx access logs
sudo tail -f /var/log/nginx/access.log | grep workroot

# Check for errors
sudo tail -f /var/log/nginx/error.log

🆘 Common Issues

Issue: Port 10000 already in use

# Find and kill process
lsof -i :10000
kill -9 [PID]

# Or restart PM2
pm2 restart all

Issue: SSL certificate error

# Renew certificate
sudo certbot renew --force-renewal -d workroot.in -d www.workroot.in

# Reload nginx
sudo systemctl reload nginx

Issue: 404 errors on assets

# Check dist directory exists
ls -la dist/

# Rebuild
npm run build
pm2 restart workroot-website

Issue: Redirects not working

# Verify nginx config
sudo nginx -t

# Check redirect rules
sudo cat /etc/nginx/sites-available/workroot | grep -A 5 "server_name workroot.com"

# Reload nginx
sudo systemctl reload nginx

📞 Emergency Contacts

  • Technical Lead: [CONTACT]
  • DevOps Team: [CONTACT]
  • On-Call Engineer: [CONTACT]

📋 Full Documentation

  • Complete Checklist: DOMAIN-MIGRATION-CHECKLIST.md
  • Migration Summary: MIGRATION-SUMMARY.md
  • Deployment Guide: DEPLOYMENT.md

Last Updated: 2026-03-21