-
Notifications
You must be signed in to change notification settings - Fork 17
66 lines (56 loc) · 2.21 KB
/
sample.yml
File metadata and controls
66 lines (56 loc) · 2.21 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
53
54
55
56
57
58
59
60
61
62
63
64
65
66
name: Sample Firebase Distribution Workflow
# 조건
on:
push:
branches:
- release/**
# 작업
jobs:
build-and-release:
runs-on: ubuntu-latest
# 작업 내에서 실행할 단계
steps:
# 단계 1: 저장소 코드 가져오기
- name: Checkout code
uses: actions/checkout@v3
# 단계 2: JDK 환경 설정
- name: Setup JDK
uses: actions/setup-java@v3
with:
distribution: 'temurin'
java-version: '17'
# Gradle 빌드 및 테스트를 위해 JDK를 설정합니다.
# 단계 3: Gradle 실행 파일에 실행 권한 부여
- name: Grant execute permission for gradlew
run: chmod +x ./gradlew
# Gradle 래퍼 스크립트가 실행 가능하도록 권한을 부여합니다.
# 단계 4: Gradle 의존성 캐싱
- name: Cache Gradle dependencies
uses: actions/cache@v3
with:
path: ~/.gradle/caches
key: gradle-cache-${{ runner.os }}-${{ hashFiles('**/*.gradle*', '**/gradle-wrapper.properties') }}
restore-keys: |
gradle-cache-${{ runner.os }}-
# Gradle 의존성을 캐싱하여 빌드 시간을 단축합니다.
# 단계 5: 단위 테스트 실행
- name: Run Tests
run: ./gradlew test
# 애플리케이션 기능을 검증하기 위해 단위 테스트를 실행합니다.
# 단계 6: Lint 검사 실행
- name: Verify Lint
run: ./gradlew lint
# 코드 품질 및 일관성을 보장하기 위해 Lint 검사를 실행합니다.
# 단계 7: 릴리즈 APK 빌드
- name: Build APK
run: ./gradlew assembleRelease
# 애플리케이션의 릴리즈 APK를 생성합니다.
# 단계 8: Firebase App Distribution에 APK 업로드
- name: Upload to Firebase App Distribution
uses: wzieba/Firebase-Distribution-Github-Action@v1
with:
appId: ${{ secrets.FIREBASE_APP_ID }}
serviceCredentialsFileContent: ${{ secrets.CREDENTIAL_FILE_CONTENT }}
groups: sample-tester
file: app/build/outputs/apk/release/app-release-unsigned.apk
# 릴리즈 APK를 Firebase 테스터 그룹에 배포합니다.