Flutter의 Codemagic 사용법과 CI/CD 설정 방법
Flutter 앱을 개발할 때, Codemagic을 사용하면 빌드, 테스트, 배포 프로세스를 자동화할 수 있습니다. Codemagic은 Flutter에 최적화된 클라우드 기반 CI/CD 서비스로, GitHub, GitLab, Bitbucket 등의 저장소와 연동하여 Flutter 프로젝트를 쉽게 배포할 수 있습니다.
이 글에서는 Codemagic을 활용하여 Flutter 프로젝트의 CI/CD 환경을 설정하는 방법을 설명하고, Firebase 및 App Store 배포 방법을 소개하겠습니다.
1. Codemagic이란?
Codemagic은 Flutter 전용으로 설계된 CI/CD 서비스로, 자동 빌드, 테스트, 배포를 지원합니다.
Codemagic을 활용하면 다음과 같은 장점이 있습니다.
- Flutter에 최적화된 CI/CD 환경: 별도의 설정 없이 Flutter 프로젝트에 바로 적용 가능
- 손쉬운 앱 배포: Google Play Store, App Store, Firebase 배포 지원
- 클라우드 기반 빌드: 로컬 환경 없이도 macOS 및 Windows에서 빌드 가능
이제 Codemagic을 사용하여 Flutter 프로젝트의 CI/CD 환경을 설정하는 방법을 살펴보겠습니다.
2. Codemagic을 사용한 CI/CD 설정
(1) Codemagic 계정 생성 및 프로젝트 추가
- Codemagic 웹사이트에 접속하여 무료 계정을 생성합니다.
- GitHub, GitLab 또는 Bitbucket 계정을 연결합니다.
- Flutter 프로젝트를 선택하고 Set up build 버튼을 클릭합니다.
(2) Codemagic에서 기본 설정
- Flutter 버전 선택 (최신 버전 권장)
- 플랫폼 선택 (Android / iOS / Web)
- 자동화된 빌드 및 테스트 설정
이제 Flutter 프로젝트에서 Codemagic을 사용하여 CI/CD를 설정할 수 있습니다.
3. Codemagic에서 Flutter 빌드 및 테스트 설정
(1) Flutter 테스트 자동 실행
Codemagic은 flutter test
명령어를 사용하여 자동으로 테스트를 실행할 수 있습니다.
workflows:
flutter-app:
name: Flutter App CI/CD
instance_type: mac_mini_m1
environment:
flutter: stable
scripts:
- name: Flutter 의존성 설치
script: flutter pub get
- name: 코드 포맷 검사
script: flutter format --set-exit-if-changed .
- name: 유닛 테스트 실행
script: flutter test --coverage
(2) Flutter 빌드 실행
Codemagic에서 Android 및 iOS 빌드를 실행할 수 있습니다.
- name: Android APK 빌드
script: flutter build apk --release
- name: iOS 빌드
script: flutter build ios --no-codesign
이제 프로젝트가 변경될 때마다 자동으로 빌드 및 테스트가 실행됩니다.
4. Firebase App Distribution을 활용한 배포
Codemagic을 사용하여 Firebase App Distribution에 자동으로 앱을 배포할 수 있습니다.
(1) Firebase API 키 추가
- Firebase Console에서 API 키를 생성합니다.
- Codemagic 환경 변수에
FIREBASE_API_TOKEN
을 추가합니다.
(2) Codemagic에서 Firebase 배포 설정
Workflow에 Firebase 배포 단계를 추가합니다.
- name: Firebase App Distribution 배포
script: |
firebase appdistribution:distribute build/app/outputs/flutter-apk/app-release.apk \
--app YOUR_FIREBASE_APP_ID \
--groups internal-testers \
--release-notes "New release from Codemagic"
이제 Codemagic에서 빌드가 완료되면 자동으로 Firebase에 업로드됩니다.
5. Google Play Store 자동 배포
Codemagic을 사용하여 Flutter 앱을 Google Play Store에 자동으로 배포할 수 있습니다.
(1) Google Play API 설정
- Google Play Console에서 서비스 계정을 생성합니다.
- Codemagic에 JSON 키 파일을 업로드합니다.
(2) Google Play 배포 설정
Workflow에 다음 단계를 추가합니다.
- name: Google Play Store 배포
script: |
fastlane supply --json_key play-store-key.json \
--package_name com.example.app \
--track internal
이제 Codemagic에서 Google Play Store에 자동으로 앱을 배포할 수 있습니다.
6. iOS 앱 빌드 및 배포
iOS 앱을 App Store Connect에 배포하려면 Codemagic에서 macOS 환경을 사용해야 합니다.
(1) iOS 빌드 실행
- name: iOS 빌드
script: flutter build ios --no-codesign
(2) App Store 배포
Workflow에 다음 단계를 추가합니다.
- name: App Store Connect 배포
script: |
fastlane deliver --ipa build/ios/iphoneos/App.ipa \
--app_identifier com.example.app \
--username your-apple-id
이제 Codemagic에서 iOS 앱을 자동으로 App Store Connect에 업로드할 수 있습니다.
결론
Codemagic을 활용하면 Flutter 앱의 CI/CD를 간편하게 자동화할 수 있습니다.
- Codemagic Workflow를 사용하여 Flutter 프로젝트 빌드 및 테스트 자동화
- Firebase App Distribution을 활용한 내부 배포
- Fastlane을 활용한 Google Play Store 및 App Store 배포
이제 Codemagic을 활용하여 더욱 효율적인 Flutter 앱 개발 및 배포 환경을 구축해 보세요!
'Flutter' 카테고리의 다른 글
Flutter의 Jenkins 사용법과 CI/CD 설정 방법 (0) | 2025.03.30 |
---|---|
Flutter의 Travis CI 사용법과 CI/CD 설정 방법 (1) | 2025.03.30 |
Flutter의 Bitrise 사용법과 CI/CD 설정 방법 (0) | 2025.03.29 |
Flutter의 GitHub Actions 사용법과 CI/CD 설정 방법 (0) | 2025.03.29 |
Flutter의 CI/CD 설정 방법과 활용 (0) | 2025.03.29 |