Application Framework

앱 버전 번호와 빌드 번호의 차이

범데이 2024. 8. 5. 23:43
728x90

오늘은 앱의 버전 번호와 빌드번호에 대한 개념과 그 차이에 대해 포스팅을 작성하고자 한다.

 

 

예를 들어, Flutter에서 `pubspec.yaml` 파일을 보면, 다음과 같이 default 버전이 작성되어있다.

버전의 점을 기준으로 세개로 나눠진 숫자들은 각각 어떤 의미를 가지고, 뒤에 +1은 왜 붙는걸까?

 


 

 

버전 번호(Version Number)

버전 번호는 일반적으로 `MAJOR.MINOR.PATCH` 형식으로 표기된다.

 

예를 들어 `1.0.0`은 다음과 같은 의미를 가진다.

 

- MAJOR(주 버전): 주요 기능 변경 또는 대규모 업데이트를 나타낸다. 예를 들어, `1.0.0`에서 `2.0.0`으로의 변경은 앱의 큰 변화가 있음을 의미한다.

 

- MINOR(부 버전): 기존 기능의 개선이나 작은 새로운 기능의 추가를 나타낸다. 예를들어, `1.0.0`에서 `1.1.0`으로의 변경은 주 버전과 호환되는 새로운 기능이 추가되엇음을 의미한다.

 

- PATCH(수정 버전): 버그 수정이나 작은 수정 사항을 나타낸다. 예를 들어, `1.0.0`에서 `1.0.1`으로의 변경은 작은 버그 수정이 있었음을 의미한다.

 

 

이러한 버전 번호 체계를 "시멘틱 버전(Sementic Versioning)" 이라고 한다. 이를 통해 사용자와 개발자는 앱의 변경 사항을 명확하게 이해할 수 있다.

 

 

 

빌드 번호(Build Number)

빌드 번호는 특정 버전의 여러 빌드를 식별하는 데 사용된다. 예를 들어, `1.0.0+1`에서 `+1`은 빌드 번호를 의미한다. 빌드 번호는 다음과 같은 경우에 증가한다:

- 같은 버전의 앱을 여러 번 빌드하고 배포해야 할 때

- 테스트를 위한 빌드가 필요할 때

- 지속적인 통합(CI) 및 배포(CD) 파이프라인에서 자동으로 빌드 번호를 증가시킬 때

 

예시

version: 1.0.0+1

 

위 예시에서:

- `1.0.0`은 앱의 주요 버전, 부 버전, 수정 버전을 의미한다.

- `+1`은 이 버전의 첫 번째 빌드를 나타낸다.

 

 

다음 번 빌드에서 버전 번호가 변경되지 않고 빌드 번호만 증가할 수 있다:

version: 1.0.0+2

이렇게 하면 사용자에게는 여전히 `1.0.0`으로 보이지만, 개발자나 배포 시스템은 `1.0.0`의 두 번째 빌드임을 알 수 있다.

 

 

 

활용 방법

버전 번호와 빌드 번호는 다음과 같은 방식으로 활용된다.

 

1. 사용자에게 명확한 정보 제공: 사용자에게 앱이 얼마나 자주 업데이트되는지, 주요 업데이트인지 작은 수정인지 명확하게 알려준다.

 

2. 앱 스토어 관리: App Store와 Google Play Store는 동일한 버전 번호를 가진 두 앱을 허용하지 않지만, 빌드 번호가 증가한 동일한 버전의 앱은 허용한다. 이를 통해 간편하게 앱을 업데이트할 수 있다.

 

3. 버그 추적 및 관리: 빌드 번호를 사용하여 특정 빌드에서 발생한 버그를 추적하고, 해당 빌드에 대한 피드백을 수집할 수 있다.

 

 

 

이러한 버전 관리 체계를 통해 앱 개발 및 배포 프로세스를 체계적으로 관리할 수 있다.

 

 


#References

https://jeong9216.tistory.com/109

https://brunch.co.kr/@joonwonlee/19

https://artieee.tistory.com/113

 

 

 

 

반응형