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
223 lines
4.2 KiB
Markdown
223 lines
4.2 KiB
Markdown
# Quick Deploy Reference - Domain Migration
|
|
|
|
**🚀 For: DevOps / Deployment Team**
|
|
**Domain**: workroot.com → workroot.in
|
|
|
|
---
|
|
|
|
## 🎯 Pre-Flight Checklist (5 minutes)
|
|
|
|
```bash
|
|
# 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)
|
|
```bash
|
|
cd /path/to/workroot-website
|
|
git pull origin main
|
|
```
|
|
|
|
### 2. Install & Build (5 min)
|
|
```bash
|
|
npm ci --only=production
|
|
npm run build
|
|
```
|
|
|
|
### 3. Verify Build (1 min)
|
|
```bash
|
|
# 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)
|
|
```bash
|
|
# 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)
|
|
```bash
|
|
# 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)
|
|
```bash
|
|
# 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)
|
|
|
|
```bash
|
|
# 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)
|
|
|
|
```bash
|
|
# 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
|
|
|
|
```bash
|
|
# 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
|
|
```bash
|
|
# Find and kill process
|
|
lsof -i :10000
|
|
kill -9 [PID]
|
|
|
|
# Or restart PM2
|
|
pm2 restart all
|
|
```
|
|
|
|
### Issue: SSL certificate error
|
|
```bash
|
|
# 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
|
|
```bash
|
|
# Check dist directory exists
|
|
ls -la dist/
|
|
|
|
# Rebuild
|
|
npm run build
|
|
pm2 restart workroot-website
|
|
```
|
|
|
|
### Issue: Redirects not working
|
|
```bash
|
|
# 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
|