fix: Keystore 서명 파일 경로 수정 #3
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: Android CD Release | |
| on: | |
| push: | |
| branches: | |
| - master # master 브랜치에 push 될 때 실행 | |
| jobs: | |
| release: | |
| runs-on: ubuntu-latest | |
| # Secrets를 환경 변수로 정의하여 run 스크립트에서 $변수 형태로 사용 가능 | |
| env: | |
| KEYSTORE_BASE64: ${{ secrets.KEYSTORE_BASE64 }} | |
| KEYSTORE_PASSWORD: ${{ secrets.KEYSTORE_PASSWORD }} | |
| KEY_ALIAS: ${{ secrets.KEY_ALIAS }} | |
| KEY_PASSWORD: ${{ secrets.KEY_PASSWORD }} | |
| GOOGLE_SERVICES_BASE64: ${{ secrets.GOOGLE_SERVICES_BASE64 }} | |
| KAKAO_NATIVE_APP_KEY: ${{ secrets.KAKAO_NATIVE_APP_KEY }} | |
| NAVER_CLIENT_ID: ${{ secrets.NAVER_CLIENT_ID }} | |
| NAVER_CLIENT_SECRET: ${{ secrets.NAVER_CLIENT_SECRET }} | |
| steps: | |
| - name: Checkout Code | |
| uses: actions/checkout@v4 | |
| - name: Set up JDK 17 | |
| uses: actions/setup-java@v4 | |
| with: | |
| distribution: 'temurin' | |
| java-version: '17' | |
| - name: Make gradlew executable | |
| run: chmod +x ./gradlew | |
| - name: Decode Google Services File | |
| run: echo "$GOOGLE_SERVICES_BASE64" | base64 -d > app/google-services.json | |
| - name: Create local.properties for CI | |
| run: | | |
| echo "kakao.native.app.key=$KAKAO_NATIVE_APP_KEY" > local.properties | |
| echo "naver.client.id=$NAVER_CLIENT_ID" >> local.properties | |
| echo "naver.client.secret=$NAVER_CLIENT_SECRET" >> local.properties | |
| # Secrets에서 Base64 문자열을 디코딩하여 app/keystore.jks 파일로 저장 | |
| - name: Decode Keystore File | |
| # base64 -d 명령어를 사용하여 복호화 | |
| run: echo "$KEYSTORE_BASE64" | base64 -d > app/keystore.jks | |
| # 서명에 필요한 비밀번호와 별칭 정보를 signing.properties 파일로 생성 | |
| - name: Set up Signing Properties | |
| run: | | |
| echo "storeFile=keystore.jks" > ./signing.properties | |
| echo "storePassword=$KEYSTORE_PASSWORD" >> ./signing.properties | |
| echo "keyAlias=$KEY_ALIAS" >> ./signing.properties | |
| echo "keyPassword=$KEY_PASSWORD" >> ./signing.properties | |
| # 릴리즈 AAB 빌드 실행 | |
| - name: Build Release AAB | |
| # 프로젝트 설정을 통해 서명된다 | |
| run: ./gradlew bundleRelease | |
| # GitHub Release 생성 및 고정 메시지 적용 | |
| - name: Create GitHub Release | |
| uses: softprops/action-gh-release@v2 | |
| # Git Tag가 푸시될 때만 Release를 생성 (예: v1.0.0) | |
| if: startsWith(github.ref, 'refs/tags/') | |
| with: | |
| # 빌드된 AAB 파일 업로드 | |
| files: app/build/outputs/bundle/release/app-release.aab | |
| name: Release ${{ github.ref_name }} | |
| body: | | |
| 더 나은 모멘토를 위해 버그를 수정하고, 사용성을 개선했어요 |