Bizim üst düzey mimarlar birine bir teklif inşa sistemi (Gradle / Artifactory / Jenkins / şef) anlatırken, o da bana bir yorum yaptı bunu çeşit tartmak-in gerçekten katılmıyorum, ama tecrübeli yeterince etmek değilim.
Bu proje, diğer ekipler tarafından yeniden kullanılacak bir eser olarak bir Java kütüphanesi (JAR) oluşturur. Sürüm için, aşağıdakilerin anlamsal yaklaşımını kullanmak istiyorum:
<major>.<minor>.<patch>
Nerede patch, hata / acil düzeltmeleri gösterir minorgeriye doğru uyumlu bültenleri gösterir ve majorAPI ve / veya geriye doğru uyumsuz değişikliklerin ya masif refactorings gösterir.
Teslimat buraya geldiğinde istediğim şey: geliştirici bazı kodlar işliyor; Bu bir QA / TEST ortamına bir yapı tetikler. Bazı testler yapıldı (bazıları otomatik, bazıları manuel). Tüm testler geçerse, o zaman bir üretim kurumu JAR’ı şirket içi depoda yayınlar. Bu noktada JAR düzgün bir şekilde sürümlendirilmeli ve benim düşüncem build.number, otomatik olarak oluşturulan ve CI aracımızın yama numarası olarak davranması için sağlananı kullanmaktı .
Böylece, versiyonlama aslında olacaktır:
<major>.<minor>.<build.number>
Yine, build.numberCI aracı tarafından sağlananlar.
Mimar, CI yapı numarasını kullanmanın anlamsal sürümün "kötüye kullanılması" olduğunu söyleyerek bunu reddetti.
Sorum şu: bu doğru mu ve öyleyse neden? Ve değilse, neden olmasın?