[개발][Flutter] 플러터 암호화폐 지갑 앱 개발 일기 7번째: Github Actions로 Flutter 앱 자동 빌드하기
Github에서 Flutter 앱이 자동 빌드하도록 구성했습니다. 릴리즈 노트를 작성하면 Github Actions에서 Android APK 와 AppBundle가 빌드되여 자동으로 업로드 됩니다.
앱 서명키 생성
앱 서명키는 아래 링크를 참고하여 Android Studio에서 생성할 수 있습니다.
또는 다음과 같이 java keytool 를 사용하여 생성할 수도 있습니다.
keytool -genkey -v -keystore ~/upload-keystore.jks -keyalg RSA -keysize 2048 -validity 10000 -alias upload
keytool 사용 방법은 아래 링크를 참고합니다.
참고로 JDK는 Adopt Open JDK 12를 사용하였습니다.
맥OS 라면 홈브류(homebrew)를 사용하여 jdk를 쉽게 설치 할 수 있습니다.
openjdk 저장소를 추가한다음brew tap AdoptOpenJDK/openjdk
다음 명령어로 설치합니다.brew install adoptopenjdk12
Workflow 파일 작성
.github/workflows/build_release.yml를 다음과 같이 작성합니다.
name: Flutter Build
on:
push:
tags:
- v*
jobs:
build_android:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: actions/setup-java@v2
with:
distribution: "adopt"
java-version: "12.x"
- name: Set up Flutter
uses: subosito/flutter-action@v1
with:
channel: "stable"
- name: Download Android keystore
id: android_keystore
uses: timheuer/[email protected]
with:
fileName: key.jks
encodedString: ${{ secrets.ANDROID_KEYSTORE_BASE64 }}
- name: Create key.properties
run: |
echo "storeFile=${{ steps.android_keystore.outputs.filePath }}" > android/key.properties
echo "storePassword=${{ secrets.ANDROID_KEYSTORE_PASSWORD }}" >> android/key.properties
echo "keyPassword=${{ secrets.ANDROID_KEY_PASSWORD }}" >> android/key.properties
echo "keyAlias=${{ secrets.ANDROID_KEY_ALIAS }}" >> android/key.properties
- name: Install dependencies
run: flutter pub get
- name: Build APK
run: |
flutter build apk --release
flutter build appbundle --release
- name: Release APK
uses: softprops/action-gh-release@v1
if: startsWith(github.ref, 'refs/tags/')
with:
files: |
build/app/outputs/bundle/release/app-release.aab
build/app/outputs/flutter-apk/app-release.apk
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
아래 블로글을 참고하여 작성하였습니다.

@anpigon transfered 1.0 KRWP to @krwp.burn. voting percent : 0.90%, voting power : 27.81%, steem power : 1797183.07, STU KRW : 1200.
@anpigon staking status : 51 KRWP
@anpigon limit for KRWP voting service : 0.051 KRWP (rate : 0.001)
What you sent : 1.0 KRWP
Refund balance : 0.949 KRWP [55021667 - 7123181868b01af29058d0177dea636f6e9a1ac5]
start success go! go! go!