ShoreBird 적용

메모하는 개발자·2025년 4월 21일
0

Flutter메모

목록 보기
9/10

이제 컴파일도 되겠다
직접만든 플러터화면과 네이티브 화면의 네비게이션도 되었으니,, ShoreBird를 적용해보려 한다.

ShoreBird란?

Flutter 애플리케이션을 위한 코드 푸시(Code Push) 솔루션으로, 앱 스토어를 거치지 않고도 Dart 코드 변경 사항을 사용자 기기에 즉시 배포할 수 있도록 지원해주는 서비스이다.

앱 업데이트 없이 수정사항이 반영되므로 잦은 업데이트에 민감한 앱들에는 최고의 서비스인듯 하다.

🛠️ ShoreBird 핵심기능

  • 즉각적인 업데이트: 앱을 다시 빌드하거나 스토어에 제출하지 않고도 Dart 코드 변경 사항을 사용자에게 바로 배포할 수 있다.

  • 패치 기반 배포: 기존 릴리스 버전에 대한 변경 사항만을 포함한 패치를 생성하여, 앱을 재배포하지 않고도 업데이트할 수 있다.

  • 롤백 기능: 문제가 있는 패치를 손쉽게 이전 안정적인 버전으로 되돌릴 수 있다.

  • 앱 스토어 정책 준수: Shorebird는 Apple과 Google의 앱 스토어 정책을 준수하도록 설계되어, 앱의 안정성과 보안을 유지해준다.

⚙️ 적용방법

ShoreBird를 본격적으로 적용하기전에, 릴리즈 빌드가 되어야 하므로 키스토어 생성 및 릴리즈 빌드가 되도록 세팅이 되어있어야 합니다.

1. Shorebird 설치 및 초기 설정

  • Shorebird CLI 설치: 터미널에서 다음 명령어를 실행하여 Shorebird 명령줄 도구를 설치한다
    curl --proto '=https' --tlsv1.2 https://raw.githubusercontent.com/shorebirdtech/install/main/install.sh -sSf | bash
  • Shorebird 로그인: 설치 후, 다음 명령어로 Shorebird에 로그인한다:
    shorebird login

2. 기존 Flutter 프로젝트에 Shorebird 통합

  • 프로젝트 초기화: Flutter 프로젝트 디렉토리에서 다음 명령어를 실행하여 Shorebird를 초기화한다. 이 과정이 끝나면, shorebird공식 사이트에서 제공하는 대시보드에 나의 앱이 생성되어 있을것이다.
    // 대시보드에 앱 생성
    shorebird init

이 과정에서 shorebird.yaml 파일이 생성되며, 앱의 고유한 app_id가 부여된다. 또한, Android의 경우 AndroidManifest.xml에 인터넷 권한이 추가된다.

3. 앱 릴리즈

  • ShoreBird서버에 앱 릴리즈 및 apk 생성: Shorebird를 사용하여 앱의 새로운 릴리스를 생성한다. 예를 들어, Android의 경우:
// shorebird에 릴리즈 배포 및 apk 생성
// shorebird는 릴리즈 모드에서만 작동이 된다.
shorebird release android --artifact apk --flavor (flavor이름) -- --release
  • 패치를 테스트하기위해, 생성된 apk를 단말기에 설치
cd build/app/outputs/apk/릴리즈 빌드한 flavor 이름/release 

//adb를 통해서 설치
adb install app-release.apk

혹시라도 빌드 과정에서, apk를 찾지 못하는 에러가 발생할경우 아래 코드 추가.

    applicationVariants.all { variant ->
        if (variant.buildType.name == "release" && variant.flavorName == "릴리즈 빌드할 flavor 이름") {
            variant.outputs.all { output ->
                // 원하는 파일명으로 덮어쓰기
                output.outputFileName = "app-release.apk"
            }
        }
    }

4. 패치 테스트

패치 테스트를 위해 특정 텍스트의 색상을 바꿨다. 혹은 알아보기 쉬운 정도로만 코드를 수정해도된다.
로컬에서 코드 수정후, 아래 명령어를 실행한다.

shorebird patch android --flavor (flavor이름)

5. 자동 업데이트 확인

약 30초 정도 후에, 이전에 단말기에 설치한 앱에서 자동으로 수정사항이 반영된것을 확인할 수 있다!

0개의 댓글