【Github Actions】Flutter의 빌드를 App Distribution에 자동 배포

소개



Pull Request가 병합될 때 최신 병합된 버전을 Firebase App Distribution에 배포하는 작업을 Github Actions에서 자동화한 것입니다. Github Actions의 기본적인 이동 방법에 대해서는 이 기사 에서 알기 쉽게 설명되어 있으므로 참고해 보세요.

Workflow 전체



.github/workflows/deploy_after_merge.yml
name: deploy_after_merge

on:
  push:
    branches:
    - master

jobs:
  deploy:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v1
      - name: set up JDK 1.8
        uses: actions/setup-java@v1
        with:
          java-version: 1.8
      - uses: subosito/flutter-action@v1
        with:
          channel: 'stable'
      - name: build and download apk
        run: flutter build apk --release
      - name: upload artifact to Firebase App Distribution
        uses: wzieba/[email protected]
        with:
          appId: ${{secrets.FIREBASE_APP_ID}}
          token: ${{secrets.FIREBASE_TOKEN}}
          groups: ANDROID_TEST
          file: build/app/outputs/apk/release/app-release.apk

사용할 오픈 소스 Actions



flutter의 커멘드를 치기 위한 Action 입니다.
App Distribution에 배포하기 위한 Action입니다. secrets 설정 .github/workflows/deploy_after_merge.yml with: appId: ${{secrets.FIREBASE_APP_ID}} token: ${{secrets.FIREBASE_TOKEN}} groups: DEPLOY_TEST file: build/app/outputs/apk/release/app-release.apk FIREBASE_APP_ID 와 FIREBASE_TOKEN 이라는 이름의 Secret 를 Github 상에 만들 필요가 있습니다. Secret을 만드는 방법은 Github 도움말 를 참고해 보세요.
  • FIREBASE_APP_ID 설정

    Firebase console에서 "프로젝트 설정"이라는 화면을 열면 앱 ID가 있습니다. FIREBASE_APP_ID 라는 이름으로 위의 이미지에서 빨간색 선으로 숨겨진 값을 Github의 Secrets에 추가합니다.
  • FIREBASE_TOKEN 설정
    Firebase 참조 을 참고로 토큰을 취득한 후, FIREBASE_TOKEN 라는 이름으로 Secrets에 추가합니다.

  • 참고


  • Github Actions를 사용할 수 있게 되었기 때문에 사용해 본다
  • Github 도움말 Creating and using encrypted secrets
  • Firebase 참조
  • CI/CD for Flutter Apps Using GitHub Actions
  • Custom Github Action for Firebase App Distribution
  • 좋은 웹페이지 즐겨찾기