Shema imenovanja verzije proljetnih projekata

1. Pregled

Uobičajeno je koristiti semantičke verzije prilikom imenovanja verzija izdanja. Na primjer, ova se pravila primjenjuju na format verzije kao što je GLAVNA.VEĆA.REVIZIJA:

  • GLAVNE: Glavne značajke i potencijalne promjene
  • MINOR: Značajke kompatibilne s unatrag
  • REVIZIJA: Popravci i poboljšanja kompatibilni s unatrag

Zajedno sa Semantičkim verzijama, projekti često koriste oznake kako bi dodatno pojasnili stanje određenog izdanja. Zapravo, upotrebom ovih oznaka dajemo savjete o životnom ciklusu izrade ili o tome gdje se artefakti objavljuju.

U ovom ćemo kratkom članku ispitati sheme imenovanja verzija koje su usvojili glavni proljetni projekti.

2. Spring Framework i Spring Boot

Uz Semantičko izdanje verzija, možemo vidjeti da Spring Framework i Spring Boot koriste ove oznake:

  • IZGRADNJA-SNAPSHOT
  • M [broj]
  • RC [broj]
  • OSLOBOĐENJE

BUILD-SNAPSHOT je trenutno razvojno izdanje. Proljetni tim svaki dan gradi ovaj artefakt i raspoređuje ga na //maven.springframework.org/snapshot.

Izdanje Milestone (M1, M2, M3, ...) označava značajnu fazu u procesu objavljivanja. Tim gradi ovaj artefakt kad se završi razvojna iteracija i raspoređuje ga na //maven.springframework.org/milestone.

Kandidat za izdanje (RC1, RC2, RC3, ...) posljednji je korak prije izrade konačnog izdanja. Da bi se promjene koda svele na minimum, u ovoj bi se fazi trebali pojavljivati ​​samo ispravci programskih pogrešaka. Također je postavljen na //maven.springframework.org/milestone.

Na samom kraju postupka izdavanja, proljetni tim izdaje RELEASE. Slijedom toga, ovo je obično jedini artefakt spreman za proizvodnju. Ovo izdanje također možemo nazvati GA, za opću dostupnost.

Te su oznake poredane po abecedi kako bi bili sigurni da upravitelji izrade i ovisnosti ispravno utvrđuju je li verzija novija od druge. Na primjer, Maven 2 pogrešno je 1.0-SNAPSHOT smatrao novijim od 1.0-RELEASE-a. Maven 3 je popravio ovo ponašanje. Kao posljedica toga, možemo doživjeti neobična ponašanja kada naša shema imenovanja nije optimalna.

3. Krovni projekti

Krovni projekti, poput Spring Cloud i Spring Data, projekti su nad neovisnim, ali povezanim potprojektima. Kako bi se izbjegli sukobi s tim potprojektima, krovni projekt donosi drugačiju shemu imenovanja. Umjesto numerirane verzije, svaki Release Train ima posebno ime.

Abecednim redom, londonske stanice podzemne željeznice nadahnuće su za imena izdanja Spring Cloud - za početak, Angel, Brixton, Finchley, Greenwich i Hoxton.

Uz gore prikazane naljepnice Spring, it također definira oznaku izdanja usluge (SR1, SR2…). Ako nađemo kritičnu grešku, može se proizvesti izdanje usluge.

Važno je shvatiti da je izdanje Spring Cloud kompatibilno samo s određenom verzijom Spring Boot. Kao referenca, stranica Spring Cloud Project sadrži tablicu kompatibilnosti.

4. Zaključak

Kao što je gore prikazano, važno je imati jasnu shemu imenovanja verzija. Iako su neka izdanja poput Milestones ili Release Candidates možda stabilna, uvijek bismo trebali koristiti artefakte spremne za produkciju. Kakva je vaša shema imenovanja? Kakve prednosti ima nad ovom?


$config[zx-auto] not found$config[zx-overlay] not found