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ış
- Mevcut kurulum ve kurulu sürüm okunur →
Current version: X. backend/.envyedeklenir (.env.bak.<zaman>);.envasla değiştirilmez.- Git durumu doğrulanır: kirli çalışma ağacı, yanlış branch veya
non-fast-forward durumunda güvenli şekilde durur —
reset --hardkullanılmaz, kullanıcı verisi sessizce silinmez. git fetch+git pull --ff-onlyile son sürüm alınır →Target version: Y.- Sürüm ve commit aynıysa işlem NO-OP'tur (
Already up to date). - Bağımlılıklar/build yenilenir; Docker modunda imaj rebuild + kontrollü restart, native modda build + servis restart yapılır.
- 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.