Flutter의 버전 관리(Versioning) 방법과 전략
Flutter 앱을 개발할 때 버전 관리(Versioning)는 매우 중요한 요소입니다. 올바른 버전 관리 전략을 사용하면 앱의 업데이트를 효율적으로 관리하고, 사용자에게 최신 기능을 안정적으로 제공할 수 있습니다.
이 글에서는 Flutter에서 버전 관리를 설정하는 방법과 효과적인 버전 관리 전략을 설명하겠습니다.
1. Flutter의 버전 관리란?
버전 관리(Versioning)는 앱의 버전을 명확하게 정의하여 업데이트를 관리하는 프로세스입니다. Flutter에서는 pubspec.yaml
파일을 사용하여 앱의 버전을 설정합니다.
버전 관리를 통해 다음과 같은 이점을 얻을 수 있습니다.
- 앱 업데이트 추적: 변경 사항을 명확하게 구분
- 스토어 배포 관리: Google Play Store 및 App Store에서 최신 버전 유지
- 버그 수정 및 패치: 특정 버전에서 발생한 문제를 쉽게 해결
이제 Flutter에서 버전을 설정하는 방법을 살펴보겠습니다.
2. Flutter에서 버전 설정 방법
(1) pubspec.yaml
에서 버전 지정
Flutter 앱의 버전은 pubspec.yaml
파일의 version
필드에서 관리됩니다.
version: 1.0.0+1
버전 번호는 메이저.마이너.패치+빌드번호
형식으로 구성됩니다.
- 메이저(major): 주요 변경 사항 (예: UI 개편, 기능 추가 등)
- 마이너(minor): 새로운 기능 추가 (예: 새로운 페이지 추가, API 개선 등)
- 패치(patch): 버그 수정 및 성능 개선
- 빌드 번호(build number): 내부 빌드 관리용 숫자 (스토어 배포 시 필수)
(2) 버전 확인 명령어
현재 Flutter 프로젝트의 버전을 확인하려면 다음 명령어를 실행합니다.
flutter --version
앱의 버전과 Flutter SDK 버전을 함께 확인할 수 있습니다.
3. iOS 및 Android에서 버전 관리
(1) Android 버전 설정
Android에서 앱의 버전은 android/app/build.gradle
파일에서 관리됩니다.
android {
defaultConfig {
versionCode 2
versionName "1.0.1"
}
}
versionCode
: Google Play Store에서 내부적으로 사용하는 숫자 (1씩 증가)versionName
: 사용자에게 표시되는 앱 버전
(2) iOS 버전 설정
iOS에서는 ios/Runner/Info.plist
파일에서 버전을 설정합니다.
<key>CFBundleShortVersionString</key>
<string>1.0.1</string>
<key>CFBundleVersion</key>
<string>2</string>
CFBundleShortVersionString
: 사용자에게 표시되는 앱 버전CFBundleVersion
: 내부 빌드 관리용 숫자
스토어에 제출할 때 versionCode
및 CFBundleVersion
은 반드시 증가해야 합니다.
4. 자동 버전 업데이트 설정
(1) Flutter 버전 자동 증가
앱을 빌드할 때 자동으로 버전을 증가시키려면 다음 명령어를 사용할 수 있습니다.
flutter build apk --build-name=1.0.1 --build-number=2
(2) Fastlane을 활용한 자동 버전 관리
Fastlane을 사용하면 CI/CD 환경에서 버전을 자동으로 증가시킬 수 있습니다.
platform :android do
desc "Increment version and build"
lane :bump_version do
version_code = (Time.now.to_i / 1000).to_s
version_name = "1.0." + version_code
gradle(task: "assembleRelease", properties: { "versionCode" => version_code, "versionName" => version_name })
end
end
이제 다음 명령어를 실행하면 자동으로 버전이 증가합니다.
fastlane bump_version
5. 버전 관리 전략
(1) Semantic Versioning 적용
Flutter 프로젝트에서는 Semantic Versioning(의미론적 버전 관리)을 적용하는 것이 좋습니다.
- 메이저(major) 버전: 기존 API와 호환되지 않는 큰 변화
- 마이너(minor) 버전: 기존 API와 호환되는 새로운 기능 추가
- 패치(patch) 버전: 버그 수정 및 성능 향상
(2) Git 태그를 활용한 버전 관리
Git 태그를 사용하여 버전을 관리하면 배포된 버전을 추적하기 쉽습니다.
git tag -a v1.0.1 -m "Release version 1.0.1"
git push origin v1.0.1
이제 특정 버전을 다시 체크아웃할 수도 있습니다.
git checkout tags/v1.0.1
결론
Flutter에서 버전 관리를 올바르게 설정하면 앱 업데이트 및 배포가 더욱 원활해집니다.
pubspec.yaml
에서 버전과 빌드 번호 관리- Android 및 iOS 버전 설정을 통해 스토어 업로드 준비
- 자동 버전 증가를 활용하여 CI/CD 최적화
- Git 태그를 활용하여 배포 버전 추적
이제 버전 관리 전략을 적용하여 Flutter 앱을 안정적으로 업데이트하고 배포해 보세요!
'Flutter' 카테고리의 다른 글
Flutter의 애플리케이션 아이콘 설정 방법 (0) | 2025.03.30 |
---|---|
Flutter의 애플리케이션 아이콘 설정 방법 (0) | 2025.03.30 |
Flutter의 Fastlane 사용법과 자동 배포 설정 방법 (0) | 2025.03.30 |
Flutter의 Jenkins 사용법과 CI/CD 설정 방법 (0) | 2025.03.30 |
Flutter의 Travis CI 사용법과 CI/CD 설정 방법 (1) | 2025.03.30 |