it-swarm.asia

Uygulama sürüm oluşturma stratejiniz nedir?

SO topluluğun en iyi uygulama sürüm oluşturma stratejisi hakkındaki görüşlerini almak isterim.

Sorularım:

  1. Uygulamanızın sürüm numarasını nasıl takip ediyorsunuz? Bu sürümdeki her sayı/karakterin neyi temsil ettiğini resmi olarak tanımlıyor musunuz?

  2. Uygulamanın sürümündeki farklı sayılar/dizeler uygulamanız için ne anlama geliyor?

  3. Uygulamalarınızda otomatik bir güncelleme sistemi kullanıyor musunuz (örneğin, Sparkle gibi bir şey) ve sizin için ne kadar iyi davrandı?

  4. Uygulamanızın beta test kullanıcıları veya yayın öncesi test kullanıcıları için ayrı bir güncelleme prosedürünüz var mı?

22
Andrei
  • Uygulamanızın sürüm numarasını nasıl takip ediyorsunuz? Bu sürümdeki her sayı/karakterin neyi temsil ettiğini resmi olarak tanımlıyor musunuz?

  • Uygulamanın sürümündeki farklı sayılar/dizeler uygulamanız için ne anlama geliyor?

Aşağıdakileri kullanıyorum:

AppName_<Major>.<Minor>.<Patch/Upgrade>.<BuildNo>

Major - Major sürüm, ürünün kesin bir sürümüdür. İşlevsellikte önemli değişiklikler olduğunda arttı.

Küçük - Yalnızca yeni özellikler veya önemli hata düzeltmeleri eklendiğinde küçük sürüm artırılır.

Yükseltme/Yama - Yükseltme, bir ürünün daha yeni bir ürün sürümüyle değiştirilmesini ifade eder.Yalnızca belirtilen büyük sürümde yükseltme sağlandığında artar. çözüldü.

Derleme No - Derleme numarası yeni derleme oluşturulduğunda artırılır.

  • Uygulamalarınızda otomatik bir güncelleme sistemi kullanıyor musunuz (örneğin, Sparkle gibi) ve bunun sizin için ne kadar iyi davrandığı?

Geceleri otomatik olarak uygulama oluşturan bina aracını kullanıyoruz, bu da gece derleme olarak adlandırıyoruz ve bu her derleme oluşturulduğunda derleme sayısını artırıyor.

  • Uygulamanızın beta test kullanıcıları veya yayın öncesi test kullanıcıları için ayrı bir güncelleme prosedürünüz var mı?

Hayır. BAT (Derleme Kabul Testi) adını verdiğimiz ve her gece derleme yaptığımız her sabah test cihazı testleri her sabah yapılır.

16
Harry Joy

Öncelikle "en iyi" strateji konusunda bir anlaşma olmadığı görülüyor. Deneyimlerimi sadece mevcut bir projede paylaşabilirim.

  1. Sistem sürümü bir build özelliğinde manuel olarak tanımlanır. Takım yeni bir sürümü kabul ettiğinde olur. Ek sürüm olarak CI derlemesi tarafından otomatik olarak oluşturulan derleme numarasını kullanırız

  2. Ubuntu adlandırma şemasını gevşek bir şekilde takip ediyoruz YY.MM.version.patch_buildNumber.Biz Major.Minor sürüm oluşturma müşteri beklentilerini berbat bulduk;)

  3. Uygulamanın yöneticiler tarafından sunulması gerektiği için otomatik güncelleme yok

  4. Test sürümleri GA sürümlerinden daha sıktır, ancak hepsi bu olmalıdır.

12
kostja

Birçok sürüm sistemini test ettim ve şimdi bununla çok mutluyum:

[Majör]. [Minör]. [Revizyon]

  • Major manuel olarak ayarlanır ve büyük iyileştirmeler içeren bir sürüme bakın
  • Minor ayrıca manuel olarak ayarlanır ve küçük iyileştirmeler ve düzeltmeler dahil olmak üzere yükseltme/bakım sürümüne bakın
  • Revizyon otomatik olarak oluşturulur ve depodaki tam bir revizyona başvurur.

Sonuncusu sürüm oluşturma konusunda çok esnek olmamızı sağlar. Birden çok istemci için birden fazla sürüm gönderebilir ve depolardan belirli bir sürüm alarak kolaylıkla hata ayıklama ve düzeltme yapabiliriz, ardından bagajla birleştirebiliriz.

Yapım, paketleme ve yayın tamamen otomatiktir. Tek manuel işlem, son paketi FTP ile üretim sunucusuna taşıdığımız zamandır. Üretimde saçmalık olmamasını sağlamak için kontrolü elimizde tutmak istiyoruz. Erken benimseyenlerin sürüm notlarını okuyabilecekleri ve daha sonra sürümü indirip kullanmaya karar verebilecekleri bir ön aşamaya geçilir. Belirli hatalarla karşılaşan müşteriler, bu sürümlerden birini kullanarak sabit bir sürümü çok hızlı alabilirler.

10
user2567

Açık kaynak kütüphanelerim için Semantic Versioning kullanıyorum ve bunu yapan diğer kütüphanelerle çalışmayı çok daha kolay buluyorum. Bir sürüm değişikliğinin ne anlama gelebileceğini anlamak için ortak bir temel sağlar. Kütüphane hala beta sürümünde mi? Bir sürüm yalnızca hata düzeltmeleri için mi? API değişiklikleri bozulacak mı?

Temelde açık kaynak kodlu birçok proje tarafından halihazırda kullanılan en iyi versiyon oluşturma uygulamalarının bir kodlamasıdır.

10
Rein Henrichs

Bence anahtar, bir sürümün benzersiz bir numaraya sahip olduğundan emin olmaktır, böylece kolayca tanımlayabilirsiniz. Bu sayının nasıl parçalandığı gerçekten önemli değil. Kullandığım sürüm major.minor.customerID.buildnumber. Yapı numarası, yapı komut dosyamızdan otomatik olarak oluşturulur.

0