[Flutter] - FastLane 안드로이드 설정


FastLane - Android 적용

이번에 자동배포를 위해 FastLane적용한 내용을 정리해보았다.

1. 설치


먼저 fastlane을 설치해주자.

brew install fastlane

2. 안드로이드 설정


그리고 Flutter 프로젝트 Android 폴더로 들어가서 init을 해주자.

fastlane init

3가지를 물어본다.

  1. 패키지 네임
  2. json secret 파일 경로

    ⇒ 현재 json secret 파일이 없으므로 생성하도록 하자.

  3. metadata : Yes라고 입력하자

3. json secret file


이걸 하려면 구글 플레이 콘솔 계정이 있어야 한다.

플레이 콘솔에 로그인 한 뒤 API 엑세스 메뉴를 선택한다.

이미지

그리고 서비스 계정 만들기를 진행한다.

이미지

이미지

주의 할 점은 역할을 서비스 계정 사용자로 해주자.

그렇게 생성된 계정에서 키를 생성한다.

이미지

그렇게 만들어진 json파일을 잘 보관하고 해당 파일의 경로를 입력해주자.

4. validation


json파일과 권한 설정이 잘 되었는지 확인해보자.

fastlane run validate_play_store_json_key json_key:/path/to/your/downloaded/file.json

5. fastlane 설정


이제 안드로이드 폴더에 보면 fastlane폴더가 생성되었다.

거기서 Fastfile이 커맨드 설정 파일이다.

default_platform(:android)

platform :android do
  desc "Runs all the tests"
  lane :test do
    gradle(task: "test")
  end

  desc "Submit a new Beta Build to Crashlytics Beta"
  lane :beta do
    gradle(task: "clean assembleRelease")
    crashlytics
  
    # sh "your_script.sh"
    # You can also use other beta testing services here
  end

  desc "Deploy a new version to the Google Play"
  lane :deploy do
    sh "flutter build appbundle"
    upload_to_play_store(aab: "../build/app/outputs/bundle/release/app-release.aab")
  end
end

나는 현재 deploy만 설정하여 사용하고 있다.

fastlane deploy

이제 정상적으로 배포되는 것을 확이인할수 있다.

주의 할 점은 앱 버전은 나는 수동으로 올려주고 있다. 앱 버전을 꼭 올려주어야 충돌이 나지 않는다. (정확히는 빌드 번호)