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

Add: Fastlane CD 추가 #95

Merged
merged 4 commits into from
Oct 31, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
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
Empty file.
88 changes: 88 additions & 0 deletions .github/workflows/release.yml
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM!

Original file line number Diff line number Diff line change
@@ -0,0 +1,88 @@
name: Deploy iOS and Android App to App Store and Play Store
on:
push:
tags:
- "v*"

env:
FLUTTER_VERSION: "3"
JAVA_VERSION: "11"

jobs:
release-ios:
name: Build and release iOS app
runs-on: macos-latest
steps:
- uses: maxim-lobanov/setup-xcode@v1
with:
xcode-version: latest-stable
- uses: actions/checkout@v3
- uses: subosito/flutter-action@v2
with:
flutter-version: ${{ env.FLUTTER_VERSION }}
- name: Create .env
run: |
echo "FRONT_ADDRESS=https://taxi.sparcs.org" > .env
echo "BACK_ADDRESS=https://taxi.sparcs.org" >> .env
- uses: ruby/setup-ruby@v1
with:
ruby-version: "3.1.2"
- name: Create GoogleService-Info.plist
run: echo '${{ secrets.GOOGLE_SERVICE_INFO_PLIST }}' | base64 --decode > ios/Runner/GoogleService-Info.plist
- name: Install Fastlane
run: cd ios && bundle install && cd ..
- name: Install packages
run: flutter pub get
- name: Install pods
run: cd ios && pod install && cd ..
- name: Prebuild
run: flutter build ios --release --no-codesign
- name: Execute Fastlane command
run: cd ios && fastlane release type:github
timeout-minutes: 40
release-android:
name: Build and release Android app
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: actions/setup-java@v3
with:
distribution: "adopt"
java-version: ${{ env.JAVA_VERSION }}
- uses: subosito/flutter-action@v2
with:
flutter-version: ${{ env.FLUTTER_VERSION }}
- name: Create .env
run: |
echo "FRONT_ADDRESS=https://taxi.sparcs.org" > .env
echo "BACK_ADDRESS=https://taxi.sparcs.org" >> .env
- uses: ruby/setup-ruby@v1
with:
ruby-version: "3.1.2"
- name: Create GoogleService-Info.plist
run: echo '${{ secrets.GOOGLE_SERVICE_INFO_PLIST }}' | base64 --decode > ios/Runner/GoogleService-Info.plist
- name: Create keystore File from Github Secrets
run: |
echo "${{ secrets.ANDROID_KEY_STORE}}" > keystore.b64
base64 -d -i keystore.b64 > android/app/happycastle.keystore
- name: Create Service Account JSON from Github Secrets
run: |
echo '${{secrets.ANDROID_UPLOAD_GOOGLE_ACOUNT}}' > android/taxi-account.json
- name: Create Keystore Env
run: |
echo "UPLOAD_STORE_FILE=happycastle.keystore" > android/key.properties
echo "UPLOAD_STORE_PASSWORD=$UPLOAD_STORE_PASSWORD" >> android/key.properties
echo "UPLOAD_KEY_PASSWORD=UPLOAD_KEY_PASSWORD" >> android/key.properties
echo "UPLOAD_KEY_ALIAS=UPLOAD_KEY_ALIAS" >> android/key.properties
env:
UPLOAD_KEY_ALIAS: ${{ secrets.UPLOAD_KEY_ALIAS }}
UPLOAD_STORE_PASSWORD: ${{ secrets.UPLOAD_STORE_PASSWORD }}
UPLOAD_KEY_PASSWORD: $${{secrets.UPLOAD_KEY_PASSWORD }}
- name: Install Fastlane
run: cd android && bundle install && cd ..
- name: Install packages
run: flutter pub get
- name: Prebuild
run: flutter build appbundle
- name: Execute Fastlane command
run: cd android && fastlane release
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@
.history
.svn/
.env
taxi-account.json

# IntelliJ related
*.iml
Expand Down
3 changes: 3 additions & 0 deletions android/Gemfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
source "https://rubygems.org"

gem "fastlane"
2 changes: 2 additions & 0 deletions android/fastlane/Appfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
json_key_file("taxi-account.json") # Path to the json secret file - Follow https://docs.fastlane.tools/actions/supply/#setup to get one
package_name("org.sparcs.taxi_app") # e.g. com.krausefx.app
38 changes: 38 additions & 0 deletions android/fastlane/Fastfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
# This file contains the fastlane.tools configuration
# You can find the documentation at https://docs.fastlane.tools
#
# For a list of all available actions, check out
#
# https://docs.fastlane.tools/actions
#
# For a list of all available plugins, check out
#
# https://docs.fastlane.tools/plugins/available-plugins
#

# Uncomment the line if you want fastlane to automatically update itself
# update_fastlane

default_platform(:android)

platform :android do
desc "Runs all the tests"
lane :test do
gradle(task: "test")
end

desc "Submit a new Beta Build to Crashlytics Beta"
lane :beta do
gradle(task: "clean assembleRelease")
crashlytics

# sh "your_script.sh"
# You can also use other beta testing services here
end

desc "Deploy a new version to the Google Play"
lane :deploy do
gradle(task: "clean assembleRelease")
upload_to_play_store
end
end
1 change: 1 addition & 0 deletions android/fastlane/metadata/android/ko-KR/changelogs/31.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
기타 자잘한 버그 수정
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Taxi는 카이스트 구성원 간 택시 동승자 모집 서비스입니다. 기계동 택시승강장, 대전역, 버스터미널 등의 출발/도착지나 출발 시간을 기반으로 택시 동승자를 찾을 수 있습니다. 채팅 기능을 통해 세부적인 장소와 시간을 조율하고 동승 이후에는 정산 현황을 빠르게 파악할 수 있도록 도와줍니다.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Taxi는 카이스트 구성원 간 택시 동승자 모집 서비스입니다
1 change: 1 addition & 0 deletions android/fastlane/metadata/android/ko-KR/title.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Taxi For KAIST
Empty file.