파란하늘의 지식창고
반응형

Release Train Naming

여러 라이브러리를 묶어서 그룹 단위로 배포하는 프로젝트의 경우 상위 모듈에서 하위 모듈에 대한 버전을 관리하게 된다.

상위 모듈이 만들어지면 이 상위 모듈에 대해서도 버전 관리를 해야 하는데 하위 모듈의 여러 버전을 관리하는 모듈의 버전이기 때문에 release train이라 부르고 상위 모듈의 버전에 대한 release train naming은 보통 알파벳 순서를 많이 쓴다.

Spring Project의 release train naming

Spring Project의 경우 이런 release train이 여러 묶음이 있다.

Spring Data

Spring Data의 release train naming은 유명한 컴퓨터 공학자들의 이름을 따서 명명되었다. (release 날짜 기준 정리)

2013-02 : Arora
2014-02 : Babbage
2014-03 : Codd
2014-05 : Dijkstra
2014-09 : Evans
2015-03 : Fowler
2015-09 : Gosling
2016-04 : Hopper
2017-01 : Ingalls
2017-10 : Kay
2018-09 : Lovelace
2019-10 : Moore
다음 버전? : Neumann

각 컴퓨터 공학자들이 누구인지 무슨 일을 했는지 찾아보는 것도 재미있을 듯하다.

(중간에 마틴 파울러나 제임스 고슬링도 보인다.)

Spring Cloud

Spring Cloud의 release train naming은 런던 지하철 역의 이름이다. (개발자가 얼마나 이름 짓기 귀찮아하는지 짐작이 간다...)

2015-06 : Angel
2016-05 : Brixton
2016-09 : Camden
2017-04 : Dalston
2017-11 : Edgware
2018-06 : Finchley
2019-01 : Greenwich
2019-11 : Hoxton

https://en.wikipedia.org/wiki/List_of_London_Underground_stations

 

List of London Underground stations - Wikipedia

The London Underground is a metro system in the United Kingdom that serves Greater London and the home counties of Buckinghamshire, Essex and Hertfordshire. Its first section opened in 1863,[1] making it the oldest underground metro system in the world – a

en.wikipedia.org

Spring Session

Spring Session의 release train naming은 식물(과일? 채소?)이다.

2018-01 : Apple
2018-10 : Bean
2019-02 : Corn
다음 버전 : Dragonfruit

Spring IO Platform

지금은 지원 종료된 IO Platform의 경우 국가의 수도를 사용했다.

2016-09 : Athens
2017-02 : Brussels
2018-04 : Cairo

Spring version naming 규칙

spring의 version naming 규칙은 name + 개발 단계에 따른 아래의 suffix 규칙 (${name}-${release}) 을 따른다.

  • BUILD-SNAPSHOT: Current snapshots
  • M1, M2, and so on: Milestones
  • RC1, RC2, and so on: Release candidates
  • RELEASE: GA release
  • SR1, SR2, and so on: Service releases

예를 들어 spring-data-releasetrain의 Moore 버전의 경우 아래와 같은 순서로 버전이 변경된다.

Moore-BUILD-SNAPSHOT
Moore-M1, Moore-M2
Moore-RC1, Moore-RC2
Moore-RELEASE
Moore-SR1, Moore-SR2

https://search.maven.org/artifact/org.springframework.data/spring-data-releasetrain

 

The Central Repository Search Engine

 

search.maven.org

BUILD-SNAPSHOT과 Milestone, Release candidate는 개발 중, 목표한 단계 도달, 배포 준비 중인 상태이고 이 3 단계의 버전은 잦은 변경이 발생할 수 있고 maven central repository에 등록되지 않는다.

만약 이 버전을 사용하고 싶은 경우 본인 프로젝트에 maven repository 설정을 아래와 같이 추가하여야 한다.

<repositories>
    <repository>
        <id>spring-snapshots</id>
        <url>http://repo.spring.io/snapshot</url>
        <snapshots>
            <enabled>true</enabled>
        </snapshots>
    </repository>
    <repository>
        <id>spring-milestones</id>
        <url>http://repo.spring.io/milestone</url>
    </repository>
</repositories>

위 설정이 추가되면 spring의 snapshot과 milestone repository를 사용할 수 있게 된다.

실제로 가장 많이 쓰는 건 RELEASE와 SR버전인데 RELEASE부터 정식 사용할 수 있는 버전이고 지속적인 추가 패치가 이루어지면 SR1, SR2와 같은 이름으로 변경된다.

Eclipse의 Release Train naming

eclipse의 경우 초기에는 eclipse 답게 천문학 관련 이름으로 release train naming 을 사용했다.(callisto, europa, galileo, helios, indigo, juno...)

이 후 과학 분야 (neon, oxygen, photon)로 확대되었다가 그 이후엔 단순히 년-월의 형태 (2018-09, 2018-12... 2019-12)로 바뀌었다. (중구난방이 되느니 간편하게 가겠다는 의도였을 것 같다.)

https://en.wikipedia.org/wiki/Eclipse_(software)

 

Eclipse (software) - Wikipedia

List of languagesAlbanian, Arabic, Basque, Bulgarian, Catalan, Chinese (simplified, traditional), Czech, Danish, Dutch, English (Australia, Canada), Estonian, Finnish, French, German, Greek, Hebrew, Hindi, Hungarian, Indonesian, Italian, Japanese, Klingon,

en.wikipedia.org

 

반응형
profile

파란하늘의 지식창고

@Bluesky_

내용이 유익했다면 광고 배너를 클릭 해주세요