Ana içeriğe geç

Güncelleme

Güncelleme tek komuttur ve son sürümü git'ten çeker. Mod verilmezse kurulum kaydından okunur.

powershell -ExecutionPolicy Bypass -File .\scripts\windows\update.ps1
sudo ./scripts/linux/update.sh

Akış

  1. Mevcut kurulum ve kurulu sürüm okunur → Current version: X.
  2. backend/.env yedeklenir (.env.bak.<zaman>); .env asla değiştirilmez.
  3. Git durumu doğrulanır: kirli çalışma ağacı, yanlış branch veya non-fast-forward durumunda güvenli şekilde durur — reset --hard kullanılmaz, kullanıcı verisi sessizce silinmez.
  4. git fetch + git pull --ff-only ile son sürüm alınır → Target version: Y.
  5. Sürüm ve commit aynıysa işlem NO-OP'tur (Already up to date).
  6. Bağımlılıklar/build yenilenir; Docker modunda imaj rebuild + kontrollü restart, native modda build + servis restart yapılır.
  7. Healthcheck çalıştırılır. Başarısızsa güncelleme SUCCESS sayılmaz ve önceki commit'e kontrollü rollback yapılır.

Seçenekler

Windows Linux Açıklama
-Mode auto\|docker\|native --mode auto\|docker\|native Kurulum türü
-Branch <ad> --branch <ad> Production branch (varsayılan: mevcut checkout)
— --remote <ad> Git remote (varsayılan: origin)
-NoPull --no-pull Git'ten çekmeden yalnızca yeniden derle/başlat
-Force --force Sürüm/commit aynı olsa bile yeniden derler
-DryRun --dry-run Hiçbir şey değiştirmeden yapılacakları listeler

Sürüm davranışı

Tek doğruluk kaynağı repo kökündeki VERSION dosyasıdır (semantic versioning). Kurulu sürüm + mod + commit, kurulum durum dosyasında tutulur:

  • Linux: /var/lib/iqv-platform/installed-version (root) veya ~/.local/state/iqv-platform/installed-version
  • Windows: %ProgramData%\iqv-platform\installed-version

Update çıktısı güncellemeden önce ve sonra sürümü gösterir; major/minor/patch farkı ayrıca raporlanır.