Skip to content

Commit cf0cb7d

Browse files
committed
[add] 플레이스토어 배포 자동화 파일 추가
1 parent 48bcf49 commit cf0cb7d

File tree

1 file changed

+121
-0
lines changed

1 file changed

+121
-0
lines changed

.github/workflows/CD.yml

+121
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,121 @@
1+
name: CD
2+
3+
on:
4+
push:
5+
branches: [ release ]
6+
7+
defaults:
8+
run:
9+
shell: bash
10+
working-directory: .
11+
12+
jobs:
13+
build:
14+
name: Generate APK
15+
runs-on: ubuntu-latest
16+
steps:
17+
- name: Checkout
18+
uses: actions/checkout@v2
19+
20+
- name: Gradle cache
21+
uses: actions/cache@v2
22+
with:
23+
path: |
24+
~/.gradle/caches
25+
~/.gradle/wrapper
26+
key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle*') }}
27+
restore-keys: |
28+
${{ runner.os }}-gradle-
29+
- name: set up JDK 17
30+
uses: actions/setup-java@v1
31+
with:
32+
java-version: 17
33+
34+
- name: Write compile time google-services.json file
35+
env:
36+
GOOGLE_SERVICES_JSON: ${{ secrets.GOOGLE_SERVICES_JSON }}
37+
run: echo $GOOGLE_SERVICES_JSON > app/google-services.json
38+
39+
- name: Touch local properties
40+
run: touch local.properties
41+
42+
- name: Access NAVER_CLIENT_ID
43+
env:
44+
NAVER_CLIENT_ID: ${{ secrets.NAVER_CLIENT_ID }}
45+
run: echo "NAVER_CLIENT_ID = \"$NAVER_CLIENT_ID\"" >> local.properties
46+
47+
- name: Access RUNNECT_NODE_URL
48+
env:
49+
RUNNECT_NODE_URL: ${{ secrets.RUNNECT_NODE_URL }}
50+
run: echo "RUNNECT_NODE_URL=\"$RUNNECT_NODE_URL\"" >> local.properties
51+
52+
- name: Access RUNNECT_DEV_URL
53+
env:
54+
RUNNECT_DEV_URL: ${{ secrets.RUNNECT_DEV_URL }}
55+
run: echo "RUNNECT_DEV_URL=\"$RUNNECT_DEV_URL\"" >> local.properties
56+
57+
- name: Access RUNNECT_PROD_URL
58+
env:
59+
RUNNECT_PROD_URL: ${{ secrets.RUNNECT_PROD_URL }}
60+
run: echo "RUNNECT_PROD_URL=\"$RUNNECT_PROD_URL\"" >> local.properties
61+
62+
- name: Access TMAP_BASE_URL
63+
env:
64+
TMAP_BASE_URL: ${{ secrets.TMAP_BASE_URL }}
65+
run: echo "TMAP_BASE_URL=\"$TMAP_BASE_URL\"" >> local.properties
66+
67+
- name: Access TMAP_API_KEY
68+
env:
69+
TMAP_API_KEY: ${{ secrets.TMAP_API_KEY }}
70+
run: echo "TMAP_API_KEY=\"$TMAP_API_KEY\"" >> local.properties
71+
72+
- name: Access GOOGLE_CLIENT_ID
73+
env:
74+
GOOGLE_CLIENT_ID: ${{ secrets.GOOGLE_CLIENT_ID }}
75+
run: echo "GOOGLE_CLIENT_ID=\"$GOOGLE_CLIENT_ID\"" >> local.properties
76+
77+
- name: Access REMOTE_KEY_APP_VERSION
78+
env:
79+
REMOTE_KEY_APP_VERSION: ${{ secrets.REMOTE_KEY_APP_VERSION }}
80+
run: echo "REMOTE_KEY_APP_VERSION=\"$REMOTE_KEY_APP_VERSION\"" >> local.properties
81+
82+
- name: Access KAKAO_CHANNEL_ID
83+
env:
84+
KAKAO_CHANNEL_ID: ${{ secrets.KAKAO_CHANNEL_ID }}
85+
run: echo "KAKAO_CHANNEL_ID=\"$KAKAO_CHANNEL_ID\"" >> local.properties
86+
87+
- name: Add kakao_strings.xml
88+
env:
89+
KAKAO_NATIVE_APP_KEY: ${{ secrets.KAKAO_NATIVE_APP_KEY }}
90+
KAKAO_REDIRECTION_SCHEME: ${{ secrets.KAKAO_REDIRECTION_SCHEME }}
91+
run: |
92+
echo '<?xml version="1.0" encoding="utf-8"?>' > app/src/main/res/values/kakao_strings.xml
93+
echo '<resources>' >> app/src/main/res/values/kakao_strings.xml
94+
echo ' <string name="kakao_native_app_key">$KAKAO_NATIVE_APP_KEY</string>' >> app/src/main/res/values/kakao_strings.xml
95+
echo ' <string name="kakao_redirection_scheme">$KAKAO_REDIRECTION_SCHEME</string>' >> app/src/main/res/values/kakao_strings.xml
96+
echo '</resources>' >> app/src/main/res/values/kakao_strings.xml
97+
98+
- name: Decode And Save Keystore Base64
99+
run: |
100+
echo "${{ secrets.KEYSTORE_BASE64 }}" | base64 --decode > app/keystore.jks
101+
102+
- name: Change gradlew permissions
103+
run: chmod +x ./gradlew
104+
105+
- name: Build Release AAB
106+
run: ./gradlew bundleRelease --stacktrace --info
107+
108+
- name: Save latest commit message as release notes for Korea
109+
run: |
110+
mkdir -p distribution/whatsnew
111+
git log -1 --pretty=format:"%s" > distribution/whatsnew/ko-KR.txt
112+
113+
- name: Release AAB
114+
uses: r0adkll/upload-google-play@v1
115+
with:
116+
serviceAccountJsonPlainText: ${{ secrets.SERVICE_ACCOUNT_JSON }}
117+
packageName: com.runnect.runnect
118+
releaseFiles: app/build/outputs/bundle/release/app-release.aab
119+
track: production
120+
status: inProgress
121+
whatsNewDirectory: 'distribution/whatsnew'

0 commit comments

Comments
 (0)