Flutter

Flutter의 Codemagic 사용법과 CI/CD 설정 방법

wsstar 2025. 3. 29. 22:00
728x90
반응형

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 계정 생성 및 프로젝트 추가

  1. Codemagic 웹사이트에 접속하여 무료 계정을 생성합니다.
  2. GitHub, GitLab 또는 Bitbucket 계정을 연결합니다.
  3. 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 키 추가

  1. Firebase Console에서 API 키를 생성합니다.
  2. 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 설정

  1. Google Play Console에서 서비스 계정을 생성합니다.
  2. 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 앱 개발 및 배포 환경을 구축해 보세요!

728x90
반응형