Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[DEV->RELEASE/1.1.0] chore: Fastlane CI/CD 구축 #2

Merged
merged 26 commits into from
Jan 28, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
26 commits
Select commit Hold shift + click to select a range
de09def
chore: Firebase 앱 배포 추가
CChuYong Jan 8, 2024
a401269
chore: Firebase 앱 배포 추가
CChuYong Jan 8, 2024
1d8e548
Merge branch 'chore/fastlane' of https://github.com/depromeet/14th-te…
CChuYong Jan 11, 2024
a97f0b7
chore: Firebase 앱 배포 추가
CChuYong Jan 8, 2024
89c7969
Merge branch 'chore/fastlane' of https://github.com/depromeet/14th-te…
CChuYong Jan 28, 2024
d90fc66
feat: metadata 추가
CChuYong Jan 28, 2024
d466844
feat: Fastlane 구축
CChuYong Jan 28, 2024
44a1365
feat: metadata 추가
CChuYong Jan 28, 2024
31ecf00
feat: Fastlane 구축
CChuYong Jan 28, 2024
53c1727
Merge branch 'chore/fastlane' of https://github.com/depromeet/14th-te…
CChuYong Jan 28, 2024
141d90c
chore: 필요 파라미터 추가
CChuYong Jan 28, 2024
54cff8c
feat: Ruby 버전 변경
CChuYong Jan 28, 2024
da1ba4b
feat: 자바/Gem 캐시 추가
CChuYong Jan 28, 2024
8725a13
feat: Gem add Darwin
CChuYong Jan 28, 2024
56914dd
feat: fastlane ruby실행
CChuYong Jan 28, 2024
ec70b50
feat: 릴리즈 키 추가
CChuYong Jan 28, 2024
23feffd
feat: 슬랙 추가
CChuYong Jan 28, 2024
08c6521
feat: 필요없는 파일 제거
CChuYong Jan 28, 2024
0948965
feat: 슬랙 주소 변경
CChuYong Jan 28, 2024
3db05fe
feat: Gradle Optimize
CChuYong Jan 28, 2024
10d29e9
feat: Gradle 설정 변경
CChuYong Jan 28, 2024
5960b62
feat: 메타스페이스 변경
CChuYong Jan 28, 2024
4ec9032
feat: 웹훅 주소 업데이트
CChuYong Jan 28, 2024
82b7a8f
feat: debug 해제
CChuYong Jan 28, 2024
b2b56bb
feat: CI/CD 병합 완료
CChuYong Jan 28, 2024
7dd468e
feat: 타임존 병합
CChuYong Jan 28, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
55 changes: 55 additions & 0 deletions .github/workflows/dev.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
name: DEV 브랜치 배포하기
on:
push:
branches:
- dev
paths:
- 'app/**'
- 'widget/**'
- 'fastlane/**'
- '.github/workflows/dev.yaml'
jobs:
deploy-dev:
runs-on: macos-latest
environment: development
steps:
- name: 브랜치 가져오기
uses: actions/checkout@v2

- name: Ruby 설정하기
uses: ruby/setup-ruby@v1
with:
ruby-version: 2.6.10
bundler-cache: true

- name: JDK17 준비하기
uses: actions/setup-java@v3
with:
java-version: '17'
distribution: 'temurin'

- name: Gradle 애드온 준비하기
uses: gradle/gradle-build-action@v2

- name: 시크릿 파일 생성하기
run: |
echo "$PLAYSTORE_SA" > play_keyfile.json && \
echo "$GCP_FASTLANE_SA" > gcp_keyfile.json && \
echo "$GENERIC_APP_SECRETS" > secrets.properties && \
echo "$GOOGLE_SERVICES_JSON" > app/google-services.json && \
echo "$APP_SIGNING_SECRET" > ./keystore.b64 && \
base64 -d -i ./keystore.b64 > ./app/bbibbi_android
env:
PLAYSTORE_SA: ${{ secrets.PLAYSTORE_SA }}
GCP_FASTLANE_SA: ${{ secrets.GCP_FASTLANE_SA }}
GENERIC_APP_SECRETS: ${{ secrets.GENERIC_APP_SECRETS }}
GOOGLE_SERVICES_JSON: ${{ secrets.GOOGLE_SERVICES_JSON }}
APP_SIGNING_SECRET: ${{ secrets.APP_SIGNING_SECRET }}

- name: Fastlane 배포하기
run: bundle exec fastlane deploy_dev
env:
FIREBASE_APP_ID: ${{ secrets.FIREBASE_APP_ID }}
SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }}
SERVICE_CREDENTIAL_FILE_PATH: gcp_keyfile.json
GOOGLE_CREDENTIAL_FILE_PATH: play_keyfile.json
68 changes: 68 additions & 0 deletions .github/workflows/prod.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,68 @@
name: 프로덕션 빌드
on:
pull_request:
branches:
- main
types: [ closed ]
jobs:
production-build:
runs-on: macos-latest
environment: production
steps:
- name: 브랜치 가져오기
uses: actions/checkout@v2

- name: Ruby 설정하기
uses: ruby/setup-ruby@v1
with:
ruby-version: 2.6.10
bundler-cache: true

- name: JDK17 준비하기
uses: actions/setup-java@v3
with:
java-version: '17'
distribution: 'temurin'

- name: Gradle 애드온 준비하기
uses: gradle/gradle-build-action@v2

- name: 시크릿 파일 생성하기
run: |
echo "$PLAYSTORE_SA" > play_keyfile.json && \
echo "$GCP_FASTLANE_SA" > gcp_keyfile.json && \
echo "$GENERIC_APP_SECRETS" > secrets.properties && \
echo "$GOOGLE_SERVICES_JSON" > app/google-services.json && \
echo "$APP_SIGNING_SECRET" > ./keystore.b64 && \
base64 -d -i ./keystore.b64 > ./app/bbibbi_android
env:
PLAYSTORE_SA: ${{ secrets.PLAYSTORE_SA }}
GCP_FASTLANE_SA: ${{ secrets.GCP_FASTLANE_SA }}
GENERIC_APP_SECRETS: ${{ secrets.GENERIC_APP_SECRETS }}
GOOGLE_SERVICES_JSON: ${{ secrets.GOOGLE_SERVICES_JSON }}
APP_SIGNING_SECRET: ${{ secrets.APP_SIGNING_SECRET }}

- name: Fastlane 배포하기
run: bundle exec fastlane deploy_production
env:
FIREBASE_APP_ID: ${{ secrets.FIREBASE_APP_ID }}
SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }}
SERVICE_CREDENTIAL_FILE_PATH: gcp_keyfile.json
GOOGLE_CREDENTIAL_FILE_PATH: play_keyfile.json

- name: 브랜치명 추출하기
id: branch-name
uses: tj-actions/[email protected]

- name: 버전 정보 추출
run: echo "TAG=$(echo '${{ steps.branch-name.outputs.current_branch }}' | egrep -o '[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}')" >> $GITHUB_ENV
id: extract_version_name

- name: Release 생성
if: github.event.pull_request.merged == true
uses: actions/create-release@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
tag_name: ${{ env.TAG }}
release_name: ${{ env.TAG }}
29 changes: 0 additions & 29 deletions .github/workflows/release.yml

This file was deleted.

55 changes: 55 additions & 0 deletions .github/workflows/stage.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
name: Release 브랜치 배포하기
on:
push:
branches:
- release/**
paths:
- 'app/**'
- 'widget/**'
- 'fastlane/**'
- '.github/workflows/stage.yaml'
jobs:
deploy-stage:
runs-on: macos-latest
environment: internal-test
steps:
- name: 브랜치 가져오기
uses: actions/checkout@v2

- name: Ruby 설정하기
uses: ruby/setup-ruby@v1
with:
ruby-version: 2.6.10
bundler-cache: true

- name: JDK17 준비하기
uses: actions/setup-java@v3
with:
java-version: '17'
distribution: 'temurin'

- name: Gradle 애드온 준비하기
uses: gradle/gradle-build-action@v2

- name: 시크릿 파일 생성하기
run: |
echo "$PLAYSTORE_SA" > play_keyfile.json && \
echo "$GCP_FASTLANE_SA" > gcp_keyfile.json && \
echo "$GENERIC_APP_SECRETS" > secrets.properties && \
echo "$GOOGLE_SERVICES_JSON" > app/google-services.json && \
echo "$APP_SIGNING_SECRET" > ./keystore.b64 && \
base64 -d -i ./keystore.b64 > ./app/bbibbi_android
env:
PLAYSTORE_SA: ${{ secrets.PLAYSTORE_SA }}
GCP_FASTLANE_SA: ${{ secrets.GCP_FASTLANE_SA }}
GENERIC_APP_SECRETS: ${{ secrets.GENERIC_APP_SECRETS }}
GOOGLE_SERVICES_JSON: ${{ secrets.GOOGLE_SERVICES_JSON }}
APP_SIGNING_SECRET: ${{ secrets.APP_SIGNING_SECRET }}

- name: Fastlane 배포하기
run: bundle exec fastlane deploy_internal_test
env:
FIREBASE_APP_ID: ${{ secrets.FIREBASE_APP_ID }}
SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }}
SERVICE_CREDENTIAL_FILE_PATH: gcp_keyfile.json
GOOGLE_CREDENTIAL_FILE_PATH: play_keyfile.json
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -34,3 +34,5 @@ google-services.json
.idea/
.DS_Store
secrets.properties
play_keyfile.json
.env
6 changes: 6 additions & 0 deletions Gemfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
source "https://rubygems.org"

gem "fastlane"

plugins_path = File.join(File.dirname(__FILE__), 'fastlane', 'Pluginfile')
eval_gemfile(plugins_path) if File.exist?(plugins_path)
Loading
Loading