İçeriğe geç
AKZ

01Etkileşimli sergi

Aşamalar

İsteğe bağlı / paralel yol

Registry · release.json

Uygulamayı tespit et

Hangi operatör uygulamasının kurulu olduğunu açık bir ayardan, sürüm dosyasından veya kurulu paketinden bulur. Birden fazlası eşleşirse uygulamanın belirtilmesini bekler.

02

Bağlam ve problem

Endüstriyel dokunmatik paneller birkaç operatör uygulamasından birini çalıştırır ve bazı uygulamalar birden fazla sürüm kanalında yayımlanır. Her panelin doğru sürümde kalması, her cihazın elle güncellenmesine bırakılamaz.

Güncelleme yolunun uygulamanın kendisinden anlaşılır olması da gerekir: operatör daha yeni bir sürümün olup olmadığını ve kurulumun nasıl ilerlediğini görebilmelidir.

03

Yaklaşım

Cihaz başına tek bir küçük servis güncelleme yolunun tamamını üstlenir: uygulama tespiti, sürüm kanalı çözümleme, sürüm keşfi, paket indirme, isteğe bağlı doğrulama, kurulum, durum ve yedek meta verisi. Operatör uygulamaları yalnızca onun HTTP API'siyle konuşur.

Servisin hangi uygulamaları güncelleyebildiği kod değil, veridir. Bir kayıt defteri her uygulamanın paket adını, sürüm kaynağını ve isteğe bağlı kanallarını listeler; yeni bir uygulama eklemek kayıt defteri değişikliğidir.

04

Rolüm

Servisi, paketlemesini ve CI iş akışını tasarlayıp geliştirdim.

05

Teslim edilenler

Tespit ve sürüm kanalları

Kurulu uygulamayı belirler ve hangi sürüm kanalını izlediğini çözer; böylece doğru paket değerlendirilir. Birden fazla uygulama kuruluysa demo başlatıcı uygulamayı ve kanalı sabitleyebilir.

Sürüm keşfi

Sürüm kaynağını okur, taslakları ve ön sürümleri atlar, beklenen pakete sahip en yüksek geçerli anlamsal sürümü seçer. Manifest kaynağı da desteklenir.

Kurulum ve durum

Debian paketini indirir, özet bilgisi varsa doğrular, kurar ve ilerlemeyi sabit hata kodlarıyla bildirir. Geçici ağ hataları bir kez yeniden denenir.

Yedek ve geri yükleme

Değiştirilen sürümü kaydeder; böylece önceki sürüm istenirse yeniden kurulabilir.

06

Mühendislik kararları

Güncelleme yolunun tek sahibi

Servis tespiti, çözümlemeyi ve kurulumu üstlenir. Ürün uygulamaları kendi arayüzünü, makine API'lerini ve paketlerini üstlenir.

Uygulamalar veridir

Bir kayıt defteri servisin güncelleyebildiği uygulamaları ve kanalları tanımlar; yeni uygulamalar yeni bir servis sürümü gerektirmez.

Cihaza göre tasarlandı

ARM64 Debian üzerinde systemd servisi olarak çalışır, Debian paketi olarak dağıtılır ve CI'da paket duman testiyle kapsanır.

Dürüst kurtarma

Geri yükleme kayıtlı bir sürümü yeniden kurar. İşlemsel bir geri alma olarak sunulmaz.

07

Durum ve sonuç

UTEST operatör uygulamalarının ortak kullandığı tek bir güncelleme servisi; her sürüm kanalı için tek bir güncelleme yolu.

08

Atıf ve yayın notları

  • Servis yazılımı yükseltilmiş yetkilerle kurar ve cihazın kendi web sunucusunun arkasında çalışmak üzere tasarlanmıştır. Depo gizlidir.
  • Kesintisiz güncelleme, atomik kurulum veya garantili geri alma iddiası yoktur.

Sonraki proje

UTEST Web App Launcher