feat: Fastlane 설정 완성 — match 및 상용/테섭 배포 자동화#77
Merged
Conversation
Gemfile, Appfile, Fastfile, Matchfile 생성 및 .gitignore 업데이트. beta lane으로 Tuist generate → 빌드 → TestFlight 업로드 자동화. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Appfile: API Key 인증 방식으로 전환, itc_team_id 제거 - Matchfile: certificates repo(newdok 브랜치) 연동 - Fastfile: beta_prod, beta_dev, beta_all lane 추가, tuist 경로 수정 - deploy.yml: TestFlight CD 워크플로우 추가 - .gitignore: 코드 서명 파일 제외 추가 Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
There was a problem hiding this comment.
Code Review
This pull request introduces Fastlane to automate the iOS build and deployment process, including configuration for App Store Connect API keys, certificate synchronization via Match, and lanes for TestFlight distribution. The review feedback identifies several issues and improvement opportunities: a directory navigation error in the before_all block that would cause build commands to fail, a missing app_identifier in the development lane that could result in incorrect TestFlight uploads, and the use of hardcoded credentials. Additionally, the reviewer suggests refactoring duplicate lane logic and using Release configurations for all TestFlight builds to ensure environment consistency.
| clean: true | ||
| ) | ||
|
|
||
| upload_to_testflight(api_key: key) |
Comment on lines
+5
to
+8
| Dir.chdir("..") do | ||
| sh("tuist", "install") | ||
| sh("tuist", "generate", "--no-open") | ||
| end |
| @@ -0,0 +1,3 @@ | |||
| app_identifier("com.newdok.app") | |||
| apple_id("dr8766@naver.com") | |||
Comment on lines
+27
to
+66
| lane :beta_prod do | ||
| key = setup_api_key | ||
| match(type: "appstore", app_identifier: ["com.newdok.app"], api_key: key) | ||
|
|
||
| increment_build_number( | ||
| build_number: latest_testflight_build_number(api_key: key, app_identifier: "com.newdok.app") + 1, | ||
| xcodeproj: "Modules/App/App.xcodeproj" | ||
| ) | ||
|
|
||
| build_app( | ||
| workspace: "Newdok.xcworkspace", | ||
| scheme: "Newdok", | ||
| configuration: "Release", | ||
| export_method: "app-store", | ||
| clean: true | ||
| ) | ||
|
|
||
| upload_to_testflight(api_key: key) | ||
| end | ||
|
|
||
| desc "테섭 TestFlight 배포" | ||
| lane :beta_dev do | ||
| key = setup_api_key | ||
| match(type: "appstore", app_identifier: ["com.newdok.test"], api_key: key) | ||
|
|
||
| increment_build_number( | ||
| build_number: latest_testflight_build_number(api_key: key, app_identifier: "com.newdok.test") + 1, | ||
| xcodeproj: "Modules/App/App.xcodeproj" | ||
| ) | ||
|
|
||
| build_app( | ||
| workspace: "Newdok.xcworkspace", | ||
| scheme: "Newdok", | ||
| configuration: "Debug", | ||
| export_method: "app-store", | ||
| clean: true | ||
| ) | ||
|
|
||
| upload_to_testflight(api_key: key) | ||
| end |
| build_app( | ||
| workspace: "Newdok.xcworkspace", | ||
| scheme: "Newdok", | ||
| configuration: "Debug", |
Appfile 기본값(com.newdok.app)이 아닌 com.newdok.test로 업로드되도록 명시적으로 지정 Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
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
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
beta_prod), 테섭(beta_dev), 동시배포(beta_all) lane 추가deploy.yml) 추가Test plan
fastlane sync_certs로컬 실행 성공 확인fastlane beta_prod로컬 TestFlight 배포 확인fastlane beta_dev로컬 TestFlight 배포 확인🤖 Generated with Claude Code