AiHummer
Azərbaycanca
Daxil olŞəxsi kabinet
v1.0.x
{ }Swagger

Yeniləmə siyasəti

v1.0.x · yeniləndi 2026-08-04

Sabitlik məhsul prinsiplərindən biridir, düşüncədən sonrakı addım deyil. AiHummer izləyir SemVer, tətbiq olunur tərəqqi-təhlükəsiz verilənlər bazası miqrasiyaları avtomatik, və bacara bilər özünü yeniləmə CDN-dən — beləliklə, yeniləmələr riskli deyil, rutin olur.

Versiyalaşdırma (SemVer)

Buraxılışlar Semantik Versiyalaşdırmanı izləyir. Versiya tərəfindən bildirilib /healthz və ilə aihummer version, beləliklə yeniləmədən əvvəl və sonra nəyin işlədiyini həmişə tam təsdiqləyə bilərsiniz.

Köçürmələr irəliyə təhlükəsiz və avtomatikdir

Başladıqda keçid gözləyən verilənlər bazası miqrasiyalarını avtomatik tətbiq edir. Bunu təhlükəsiz saxlayan iki xüsusiyyət var:

  • İrəli təhlükəsiz. Miqrasiya belə yazılır ki, yeni ikili köhnəsinə qarşı işləsin mühitinə keçir, bu da avtomatik tətbiqi və ardıcıl yeniləmələri təhlükəsiz edir.
  • Məsləhət kilidi vasitəsilə tək tətbiqçi. Miqrasiya altında işləyir PostgreSQL məşvərət kilidi, buna görə də bir neçə giriş nöqtəsi eyni anda başladıqda yalnız biri onları tətbiq edir və qalanı gözləyir — heç vaxt ikiqat miqrasiya yoxdur.

[!NOTE] Köçürmələr həmişə sahibi olan verilənlər bazası hovuzunda işləyir. Məhdud RLS rolu (AIHUMMER_DB_APP_URL) trafik təmin etmək üçündür, sxema dəyişiklikləri üçün deyil.

Yeniləmə

Yeni versiyalar təchizatçının buraxılış CDN-indən götürülür. Yenilənməyin nizamlı yolu serverdə tək bir əmrdir:

aihummer update --check   # yalnız daha yeni versiyanın olub-olmadığını bildirir
aihummer update           # endirir və tətbiq edir

--check heç nə yazmır, ona görə də root tələb etmir. Yeniləmənin tətbiqi isə quraşdırma kökünü dəyişir və xidməti yenidən başladır, buna görə də sudo ilə işə salınır.

Gözlənilən nəticə: --check cari və mövcud versiyaları çap edir və heç nəyi dəyişmədən bitir. aihummer update artefaktı endirir, onun sha256 yoxlama cəmini və cosign imzasını yoxlayır, ikili faylı əvəz edir, xidməti yenidən başladır — bundan sonra aihummer version yeni versiyanı göstərir. Yoxlama uyğun gəlməsə, yeniləmə fayl əvəz edilməzdən əvvəl dayanır: işləyən versiya toxunulmaz qalır.

[!NOTE] Avtomatik yeniləməni təchizatçı aktivləşdirir, siz yox. Avtomatik yeniləmənin rejimi və cədvəli buraxılışa xidmətin bir hissəsidir və təchizatçının imzalanmış göstərişi ilə təyin olunur. Buna uyğun keçidlər nə veb interfeysdə, nə də aihummer settings daxilində var; gateway.env faylına yazılmış avtomatik yeniləmə dəyişənlərini keçid qapısı oxumur — onları orada görsəniz, heç nəyə təsir etmirlər. Öz cədvəlinizlə yenilənmək üçün yuxarıdakı aihummer update əmrindən istifadə edin.

Geri qaytarma

Nə geri qaytarılır — bənd-bənd:

  • İkili fayl — əvvəlki versiyaya qaytarıla bilər (əvvəlki buraxılışların artefaktları CDN-də qalır; lazım olan versiyanı yenidən quraşdırın).
  • Verilənlər bazasının sxemi — miqrasiyalar irəliyə təhlükəsizdir, ona görə əvvəlki ikili fayl yeni sxem ilə işləyir; ayrıca sxem geri qaytarılması yoxdur.
  • Əlavələr — versiyalar hər quraşdırma üçün ayrıca idarə olunur; lazım gəlsə əlavəni kataloqdan geri qaytarın.
  • Konfiqurasiya — yeniləmə zamanı dəyişmir; ehtiyac olarsa ehtiyat nüsxədən bərpa olunur.

Sıfır dayanma vaxtı ilə həyata keçirilən yayım

AiHummer fasiləsiz yeniləmək üçün hazırlanmışdır:

  • 2+ şlüzləri proxy arxasında işlədin. Onları bir-bir atın; hazırlıq yoxlaması (/readyz) yenidən işə başlayan nodu xidmət göstərməyə başlamayana qədər dövrədən çıxarır.
  • Cədvəl tərtibatçısı tək liderdir. Fon planlaşdırması tək bir lider seçir PostgreSQL tövsiyə kilidi vasitəsilə, beləliklə bir neçə keçid işlətmək təkrar yaratmır planlaşdırılmış iş.
  • Çatdırılma idempotentdir. Etibarlı çatdırılma və idempotentlik açarları deməkdir cavab heç vaxt yenidən başladıqda iki dəfə göndərilmir, bu isə rolling edən şeyi yaradır şlüzləriniz üzrə yenidən başlatma təhlükəsizdir.

Növbəti haradır