2010-08-04 18 views
6

Düzeltme/düzeltme sürümlerini desteklemek için Java tabanlı ürünlerimizden birinin & sürüm yükseltme işlemimizi uyarlama sürecindeyiz.Düzeltme/Yama oluşturma ve teslim etme yaklaşımı

Bugün, inşa etme hattımızın dışında bir tam yükleme paketi (bir ISO'ya sarılmış bir dizi RPM paketi) sunuyoruz. Bununla birlikte, artan/daha ince taneli yükseltme/yama sevkiyatlarını da desteklemeyi hedefliyoruz.

İlk adım olarak işleri basit tutmak için, daha iyi taneli RPM paketlerine sahip olmayı ve bu RPM'lerin bir alt kümesini (yalnızca bir sürümün kapsamı içinde değiştirilmiş olanları) birlikte özel bir düzeltme ISO'sunda paketlemeyi planlıyoruz. tam yükleme ISO. (İkili fark - delta RPM'leri gibi diğer seçenekleri de dikkate aldık - ayrı bir düzeltme RPM'si oluşturuyoruz.)

Yapılandırma ve sürüm kontrolünüzü (bu çekirdekte olduğu gibi) nasıl inşa ettiğinizi duymak isterim. Bu tür düzeltme dağıtımlarını desteklemek için bir sürüm yönetim sorunu da var mı?

cevap

1
ben size yapı boru hattı yönetmek nasıl duymak istiyorum

- paketleme ve sürüm kontrolü

Ben (çalışma) kavramını ortaya

: bug711 gibi bir tanımlama olarak

A muhbirleri Bu hatayı düzeltmek için dokunduğunuz tüm kaynaklar hata rapor no ile etiketlenir (Sürüm Kontrolü).

Bu etiket, bir yama oluşturmak için gereken tüm kaynakların (html, js, css vb. Gibi statik dosyalar söz konusu olduğunda) ve dallardan baştan revizyona birleştirilmesi için kullanılabilir.

Java kodu söz konusu olduğunda, yerleştirilecek en düşük değer bir yapay nesne (kavanoz, kulak, savaş dosyası) olacaktır. Bu, uygulamanın yeniden başlatılmasını gerektirir. JBoss Uygulama Sunucusu olması durumunda, 'patlatılmış' dağıtımın, duruşlar olmadan yama yapabilmemizi sağladığını keşfettik.

Bu, sunucu ortamına ve sizin için en uygun yaklaşımın türüne bağlı olarak değişir. Korkarım ki tek bir en iyi uygulama yoktur.

+0

Anladığım kadarıyla, bir Java dağıtım biriminde tüm değiştirilmiş ikili eserleri toplamanız gerekir. Bu Java kavanozu/savaşı düzenli bir yapıya sahip olduğunuzla aynı birim midir, yoksa gerçekten özel bir yama mı? Eğer yama özelse, o kavanozdaki eserlerin JBoss patlatılmış dizininizde doğru yere gittiğinden nasıl emin olabilirsiniz? Diğer bir zor şey ise, bir müşteri sistemine hangi yama yüklü olduğunu nasıl takip edersiniz? (RPM sürümlerini ve bunu izlemek için özel bir dosya kullanıyoruz) – Erdem

+0

Yamalar, bir hatayı düzeltmek için yalnızca birkaç dosya içerir. Kavanoz/savaş, tüm versiyonla aynı şekilde inşa edilir (70+ eserler) ve bir versiyon havuzuna yerleştirilir. Bir hatayı düzeltmek için yalnızca ilgili dosyalar yüklenecek, KG için daha az çalışma yapılacaktır. Yamalar, bugreport # ile ödeme yoluyla otomatik olarak oluşturulur ve bir db'de izlenir. (Test, açıklaması, ... yükleme) – stacker

İlgili konular