mirror of
https://github.com/DeNNiiInc/Connect-5.git
synced 2026-04-29 14:23:58 +00:00
Add automatic deployment system to fix database disconnection after git pull
- Create post-merge git hook for auto service restart - Add setup-auto-deploy.sh for easy installation - Hook detects PM2, systemd, or manual process management - Automatically runs npm install if package.json changes - Eliminates need to manually run deploy.sh after updates
This commit is contained in:
108
AUTO_DEPLOY_SETUP.txt
Normal file
108
AUTO_DEPLOY_SETUP.txt
Normal file
@@ -0,0 +1,108 @@
|
||||
===============================================================================
|
||||
AUTO-DEPLOY SETUP - Fix Database Disconnection After Git Pull
|
||||
===============================================================================
|
||||
|
||||
PROBLEM YOU'RE EXPERIENCING:
|
||||
- Git auto-pulls new code to production
|
||||
- Database stops connecting
|
||||
- You have to manually run deploy.sh to fix it
|
||||
|
||||
SOLUTION:
|
||||
Automatic service restart after every git pull!
|
||||
|
||||
===============================================================================
|
||||
INSTALLATION (Run Once on Production Server)
|
||||
===============================================================================
|
||||
|
||||
SSH into your production server and navigate to Connect-5 directory, then run:
|
||||
|
||||
bash setup-auto-deploy.sh
|
||||
|
||||
That's it! The script will:
|
||||
✅ Install a git post-merge hook
|
||||
✅ Detect your service manager (PM2/systemd/manual)
|
||||
✅ Configure automatic restart after git pull
|
||||
|
||||
===============================================================================
|
||||
HOW IT WORKS
|
||||
===============================================================================
|
||||
|
||||
After installation, every time git pulls new code:
|
||||
|
||||
1. Git auto-pull happens (your existing automation)
|
||||
2. Git triggers the post-merge hook automatically
|
||||
3. Hook checks if package.json changed → runs npm install if needed
|
||||
4. Hook restarts the Node.js service automatically
|
||||
5. Database reconnects immediately
|
||||
6. No manual intervention needed!
|
||||
|
||||
===============================================================================
|
||||
WHAT'S INCLUDED
|
||||
===============================================================================
|
||||
|
||||
📁 git-hooks/post-merge
|
||||
- The hook script that runs after git pull
|
||||
- Handles: npm install + service restart
|
||||
- Works with: PM2, systemd, or manual process restart
|
||||
|
||||
📜 setup-auto-deploy.sh
|
||||
- One-time setup script
|
||||
- Copies hook to .git/hooks/
|
||||
- Makes it executable
|
||||
- Tests which service manager you're using
|
||||
|
||||
===============================================================================
|
||||
QUICK SETUP (Copy/Paste This)
|
||||
===============================================================================
|
||||
|
||||
On your production server:
|
||||
|
||||
cd /path/to/Connect-5
|
||||
bash setup-auto-deploy.sh
|
||||
|
||||
Answer "y" when asked to test the hook.
|
||||
|
||||
===============================================================================
|
||||
VERIFICATION
|
||||
===============================================================================
|
||||
|
||||
After setup, test it:
|
||||
|
||||
1. Make a small change to README.md on your local machine
|
||||
2. Git push from local
|
||||
3. Wait for server to auto-pull (your existing setup)
|
||||
4. SSH into server and check:
|
||||
|
||||
# Check if service restarted
|
||||
pm2 logs connect5
|
||||
# OR
|
||||
sudo systemctl status connect5
|
||||
# OR
|
||||
tail -f server.log
|
||||
|
||||
5. You should see:
|
||||
"🔄 Git Pull Detected - Running Auto-Deploy"
|
||||
"✅ Auto-Deploy Complete!"
|
||||
|
||||
===============================================================================
|
||||
NO MORE MANUAL DEPLOYS!
|
||||
===============================================================================
|
||||
|
||||
Before: Git pulls → Database disconnects → You run deploy.sh manually
|
||||
After: Git pulls → Hook runs → Service restarts → Database reconnects ✅
|
||||
|
||||
You'll never need to run deploy.sh manually again for database connection issues!
|
||||
|
||||
===============================================================================
|
||||
ROLLBACK (If Needed)
|
||||
===============================================================================
|
||||
|
||||
To disable auto-deploy:
|
||||
|
||||
rm .git/hooks/post-merge
|
||||
|
||||
To re-enable:
|
||||
|
||||
bash setup-auto-deploy.sh
|
||||
|
||||
===============================================================================
|
||||
Reference in New Issue
Block a user