본문 바로가기
📌 Back End/└ Spring

[Spring] 소프트웨어 배포 생명 주기 (software release life cycle)

by 쫄리_ 2023. 7. 19.
728x90
반응형

Software release life cycle

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

  • 기본적인 소프트웨어 생명주기다. spring과는 동일하지 않지만(milestone) 이 기반으로 생명주기가 돌아간다.


  • SNAPSHOT: 아직 릴리즈 되지 않은 데일리 빌드 버전, 안정화 되어 있지 않다.
  • M(Milestone): 새 기능이 개발되어 주기적으로 배포하는 버전, 릴리즈되어 있지만 버그 수정하고 있는 버전
  • RC(Release candidate): M을 더 정리를 해서 배포된 버전
  • GA(General Availability): 정식 릴리즈 버전

Snapshot

아직은 안정화 되지 않은 데일리 빌드버전을 뜻합니다.

따라서 최신 버전일 수도 있지요.

 

M (Milestone)

팀이나 프로젝트마다 정해진 주기마다 배포하는 버전입니다.

M2라고 되어있으면 프로젝트 ‘마일스톤 2번째것’이라는 뜻입니다.

주요 기능이 구현될 때마다 릴리즈하고 개발자들에게 피드백을 받는 버전이라고 합니다.

RC (Release Candidate)

milestone에서 좀 더 정리를 잘 해서 내놓는 버전.

정식 릴리즈 버전이 아니라서 안정적으로 동작하는 것을 보장하진 않는다.

GA (General Availability)

정식 릴리즈 버전입니다. 가장 안정적인 버전이죠.

상업성 개발을 할때는 안전하게 릴리즈 버전만을 사용하는게 당연히 좋겠죠.

메이븐 리포지토리에서는 GA버전만 maven 중앙저장소에 올라가고 RC, M등은 안올라 간다고 하네요!

 

소프트웨어 배포 생명 주기

스프링 부트의 버전 주기는 다음과 같습니다.

SNAPSHOT  ▶  M    RC    RELEASE (GA)    SNAPSHOT (Next Version)

snapshot과 m버전은 인터페이스가 확정되지 않았기 때문에 바뀔 수 있고

RC버전 부터는 어지간해선 바뀌지 않습니다. 이 RC버전을 지나서 GA로 배포되고

다음 버전에 snapshot 이 생성됩니다.

여기까지 버전차이와 버전 주기가 어떻게 되는지 알아봤습니다.

 

 

https://spring.io/projects/spring-framework#learn

 

Spring Framework

The Spring Framework provides a comprehensive programming and configuration model for modern Java-based enterprise applications - on any kind of deployment platform. A key element of Spring is infrastructural support at the application level: Spring focuse

spring.io

 

728x90
반응형