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
4.2 KiB
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