chore: replace dokploy with native docker compose deployment workflow
This commit is contained in:
@@ -21,9 +21,18 @@ npm test # unit tesztek zöldek
|
|||||||
npm run build # build sikeres-e?
|
npm run build # build sikeres-e?
|
||||||
```
|
```
|
||||||
|
|
||||||
### 2. Staging deploy
|
### 2. Staging deploy (Docker Compose)
|
||||||
A Dokploy automatikusan buildi és deployolja a `main` branchre kerülő commitokat:
|
A staging szerveren (pl. `staging.mozdit.hu`) natív Docker Compose-zal futtatjuk a projektet:
|
||||||
- **Staging**: https://staging.mozdit.hu
|
|
||||||
|
```bash
|
||||||
|
# Belépés a szerverre
|
||||||
|
ssh user@staging-server
|
||||||
|
|
||||||
|
# Kód frissítése és build
|
||||||
|
cd /var/www/mozdit-staging
|
||||||
|
git pull origin main
|
||||||
|
docker compose -f docker-compose.prod.yml up --build -d
|
||||||
|
```
|
||||||
|
|
||||||
Ellenőrizd stagingen:
|
Ellenőrizd stagingen:
|
||||||
- [ ] Főbb oldalak betöltenek (/, /rolunk, /szolgaltatasok, /kapcsolat)
|
- [ ] Főbb oldalak betöltenek (/, /rolunk, /szolgaltatasok, /kapcsolat)
|
||||||
@@ -32,18 +41,29 @@ Ellenőrizd stagingen:
|
|||||||
- [ ] Mobil nézet rendben
|
- [ ] Mobil nézet rendben
|
||||||
- [ ] `/api/health` endpoint zöld
|
- [ ] `/api/health` endpoint zöld
|
||||||
|
|
||||||
### 3. Produkciós deploy
|
### 3. Produkciós deploy (Élesítés)
|
||||||
Ha staging rendben van, a produkciós deploy Dokploy-on keresztül történik:
|
Ha a staging rendben van, az éles szerveren ugyanez a natív Docker Compose folyamat zajlik le:
|
||||||
- **Production**: https://mozdit.hu
|
|
||||||
|
```bash
|
||||||
|
# Belépés a produkciós szerverre
|
||||||
|
ssh user@prod-server
|
||||||
|
cd /var/www/mozdit-prod
|
||||||
|
git pull origin main
|
||||||
|
docker compose -f docker-compose.prod.yml up --build -d
|
||||||
|
```
|
||||||
|
|
||||||
### 4. Post-deploy ellenőrzés
|
### 4. Post-deploy ellenőrzés
|
||||||
- [ ] Minden oldal betölt production-ban
|
- [ ] Minden oldal betölt production-ban
|
||||||
- [ ] `/api/health` endpoint ellenőrzése
|
- [ ] `/api/health` endpoint ellenőrzése
|
||||||
- [ ] Lighthouse futtatás (≥90 minden kategóriában)
|
- [ ] Lighthouse futtatás (≥90 minden kategóriában)
|
||||||
- [ ] Grafana dashboardon nincsenek hibák
|
- [ ] Logok ellenőrzése: `docker compose -f docker-compose.prod.yml logs -f app`
|
||||||
|
|
||||||
### 5. Rollback (ha szükséges)
|
### 5. Rollback (ha szükséges)
|
||||||
Dokploy felületen az előző deploy visszaállítható.
|
Hiba esetén az előző commitra könnyedén vissza lehet állni:
|
||||||
|
```bash
|
||||||
|
git checkout HEAD~1
|
||||||
|
docker compose -f docker-compose.prod.yml up --build -d
|
||||||
|
```
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
|
|||||||
@@ -0,0 +1,33 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
# mozdIT Deploy Script
|
||||||
|
# Használat: ./deploy.sh [staging|production]
|
||||||
|
|
||||||
|
ENV=$1
|
||||||
|
|
||||||
|
if [ "$ENV" != "staging" ] && [ "$ENV" != "production" ]; then
|
||||||
|
echo "Hiba: Hiányzó vagy érvénytelen környezet paraméter."
|
||||||
|
echo "Használat: ./deploy.sh staging VAGY ./deploy.sh production"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo "🚀 Deploy indítása: [$ENV] környezet"
|
||||||
|
|
||||||
|
# 1. Kód frissítése
|
||||||
|
echo "📦 Kód frissítése a fő ágról (main)..."
|
||||||
|
git pull origin main
|
||||||
|
|
||||||
|
# 2. .env fájl betöltése / ellenőrzése
|
||||||
|
if [ -f ".env.$ENV" ]; then
|
||||||
|
echo "🔑 Környezeti változók betöltése (.env.$ENV)..."
|
||||||
|
export $(grep -v '^#' .env.$ENV | xargs)
|
||||||
|
else
|
||||||
|
echo "⚠️ Figyelmeztetés: .env.$ENV fájl nem található, alapértelmezett értékek használata."
|
||||||
|
fi
|
||||||
|
|
||||||
|
# 3. Docker konténerek újraépítése és indítása
|
||||||
|
echo "🐳 Docker konténerek buildelése és indítása Zero-Downtime megközelítéssel..."
|
||||||
|
docker compose -f docker-compose.prod.yml up --build -d
|
||||||
|
|
||||||
|
# 4. Ellenőrzés
|
||||||
|
echo "✅ Deploy sikeresen befejeződött!"
|
||||||
|
echo "📄 Logok megtekintése: docker compose -f docker-compose.prod.yml logs -f app"
|
||||||
Reference in New Issue
Block a user