Profesyonel · Node.js / Linux Servisleri / DevOps
UTEST Web App Updater
UTEST operatör web uygulamalarını endüstriyel dokunmatik panellerde güncel tutan ortak bir güncelleme servisi.
- Durum
- Teslim edilmiş profesyonel çalışma
- Kaynak
- Kaynak kod gizli
- Dönem
- 2026 — günümüz
- Rol
- Servisin tasarımcısı ve geliştiricisi
- Node.js
- TypeScript
- ARM64 Debian
- Debian packaging
- GitHub Actions
- Yazılım Mimarisi ve Sistem Tasarımı
- Full-Stack Yazılım Geliştirme
- systemd
- GitHub Releases
- HTTP API
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
