Güncelleme / Rollback¶
Container Yaşam Döngüsü¶
Build → Start → Health Check → Update → Rollback → Stop/Remove
Aşağıdaki komutlar mevcut betiklerden ve compose dosyasından alınmıştır; compose dosyasına uygun olmayan komutlar burada kullanılmaz.
Build¶
docker compose config # yapılandırmayı doğrula
docker compose build # imajları derle
Start¶
docker compose up -d
(Önerilen yol ./install.sh / .\install.ps1 — betik .env üretimini,
imaj derlemeyi ve healthcheck doğrulamasını otomatik yapar.)
Health Check¶
docker compose ps # SERVICE / STATUS / PORTS / HEALTH
curl http://localhost:8080/health
docker compose logs -f # günlükleri izle
Update¶
./update.sh # Linux
.\update.ps1 # Windows
update.sh sırası: kurulum doğrulama → sürüm kaydı → yapılandırma yedeği →
git fetch → git pull --ff-only (birleştirme/rebase yapılmaz) →
sürüm/bağımlılık karşılaştırması → gerekli servisleri yeniden derleme
(docker compose build) → yeniden başlatma → healthcheck.
- Takip edilen dosyalarda kaydedilmemiş değişiklik varsa güncelleme durur.
docker compose down -vhiçbir zaman çalıştırılmaz → veritabanı (mongo_data/mongo_config) korunur.- Yalnızca kod çekmeden yeniden kurmak için:
./update.sh --no-pull.
Rollback¶
Otomatik rollback varsayılan olarak kapalıdır ve yalnızca git
seviyesindedir (imaj seviyesinde ayrı bir rollback mekanizması yoktur):
./update.sh --allow-rollback
--allow-rollback verilirse, güncelleme sonrası healthcheck başarısız olur
ve kod değiştiyse betik git reset --hard <önceki-commit> ile bir önceki
commit'e döner ve servisleri o sürümle yeniden derleyip başlatır. Bayrak
verilmezse betik yalnızca önerir, otomatik geri dönmez:
./update.sh --allow-rollback # veya elle:
git reset --hard <önceki-commit-sha>
docker compose build
docker compose up -d
Stop / Remove¶
docker compose down # container'ları durdurur/kaldırır, volume'leri KORUR
Uygulamayı tamamen kaldırmak için (servisleri durdurur, container'ları ve
uygulama imajlarını siler; MongoDB verisi, .env, backups/ ve kaynak kodu
korur):
./uninstall.sh # Linux
.\uninstall.ps1 # Windows
Tam temizlik (--purge) ve veritabanı dahil silme (--purge-data)
bayrakları için depo kökündeki README.md dosyasına bakın.