-
Notifications
You must be signed in to change notification settings - Fork 1
52 lines (41 loc) · 2.13 KB
/
Copy pathandroid.yml
File metadata and controls
52 lines (41 loc) · 2.13 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
name: Build & upload to Firebase App Distribution
on:
push:
branches: [ deploy ] # dev 브런치에 push가 올 때 이벤트 트리거
workflow_dispatch: # 수동 실행 옵션 (생략가능)
jobs:
build:
runs-on: ubuntu-latest # 이후의 jobs들은 ubuntu의 최신버전에서 실행한다.
steps:
- uses: actions/checkout@v1
- name: set up JDK 17 # 깃허브 runner에서 돌아가는 환경은 java 17버전으로 설정한다.
uses: actions/setup-java@v1
with:
java-version: 17
- name: Grant Permission for gradlew # gradlew 에 대한 퍼미션을 허용한다.
run: chmod +x ./gradlew
shell: bash
- name: Decode And Save Keystore Base64 # app.keystoer.jks 키 값을 디코드 해서 app/ksystore.jks로 저장한다. (생략 가능)
run: |
echo "${{ secrets.KEY_STORE_BASE64 }}" | base64 --decode > app/keystore.jks
- name: Create google-services.json
run: |
cat <<EOF > app/google-services.json
${{ secrets.GOOGLE_SERVICES }}
EOF
- name: Create local.properties # (LOCAL_PROPERTIES_CONTENTS)를 기반으로 local.properties를 만들고 keystore.jks 위치를 추가해 준다.
run: |
echo "google-web-client-id=${{ secrets.GOOGLE_WEB_CLIENT_ID }}" > local.properties
echo "store-file=keystore.jks" >> local.properties
echo "store-password=${{ secrets.STORE_PASSWORD }}" >> local.properties
echo "key-password=${{ secrets.KEY_PASSWORD }}" >> local.properties
echo "key-alias=${{ secrets.KEY_ALIAS }}" >> local.properties
- name: Build release # APK를 빌드한다.
run: ./gradlew assembleRelease --no-daemon --parallel --build-cache
- name: Upload to Firebase App Distribution # 파이어베이스에 앱 디스트리 뷰션에 배포한다.
uses: wzieba/Firebase-Distribution-Github-Action@v1
with:
appId: ${{secrets.FIRE_BASE_APP_ID}}
serviceCredentialsFileContent: ${{ secrets.GCP_SERVICE_ACCOUNT_KEY }}
groups: 하나회
file: app/build/outputs/apk/release/app-release.apk