-
Notifications
You must be signed in to change notification settings - Fork 0
[FEAT] fastlane을 이용한 사이닝과 테스트 빌드 기능 추가 #162
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
Conversation
Walkthrough이 변경사항은 Poppool iOS 프로젝트의 배포 자동화 및 코드 서명 구성을 중심으로 이루어졌습니다. Fastlane 설정 파일들이 새로 추가되었고, Xcode 프로젝트와 Info.plist, .gitignore 파일이 업데이트되었습니다. 주요 내용은 코드 서명 팀, 프로비저닝 프로필, 빌드 및 마케팅 버전, Fastlane 자동화 도입 등입니다. Changes
Sequence Diagram(s)sequenceDiagram
participant Developer
participant Fastlane
participant Xcode
participant TestFlight
Developer->>Fastlane: beta lane 실행
Fastlane->>Fastlane: match로 프로비저닝 동기화(appstore)
Fastlane->>Fastlane: 현재 시간 기반 빌드번호 생성
Fastlane->>Xcode: 빌드번호 업데이트 및 앱 빌드
Fastlane->>TestFlight: 빌드 업로드
Poem
✨ Finishing Touches🧪 Generate unit tests
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. 🪧 TipsChatThere are 3 ways to chat with CodeRabbit:
SupportNeed help? Create a ticket on our support page for assistance with any issues or questions. Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments. CodeRabbit Commands (Invoked using PR comments)
Other keywords and placeholders
Documentation and Community
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 0
🧹 Nitpick comments (3)
Poppool/Gemfile (1)
1-3: fastlane 버전을 명시적으로 고정해 reproducible build를 확보하세요
gem "fastlane"로만 두면 CI 환경에서 예기치 않게 major 업데이트가 설치될 수 있습니다. 패치/마이너 업그레이드는 Gemfile.lock으로 제어되더라도 새로 clone 한 개발자가bundle install전에gem install fastlane을 수행하면 버전 불일치가 발생할 가능성이 있습니다. 다음처럼 최소-버전을 지정해 두면 위험을 줄일 수 있습니다.-gem "fastlane" +gem "fastlane", "~> 2.220"Poppool/fastlane/Appfile (1)
1-5: 민감 정보는 환경변수로 분리하는 것을 고려하세요Apple ID(이메일) 자체는 비밀번호가 아니지만 조직 외부에 공개 저장소라면 계정 식별자가 그대로 노출됩니다. Fastlane 은
apple_id(ENV["APPLE_ID"]) team_id(ENV["APP_STORE_TEAM_ID"])처럼 ENV 변수를 참조하도록 지원하므로, 향후 조직 계정 변경·분기 복제 시 유지보수성을 높일 수 있습니다.
Poppool/fastlane/Matchfile (1)
1-8: CI 환경에서 readonly 옵션·키체인 경로 등을 명시하면 match 실행 속도를 개선할 수 있습니다예를 들어 배포 파이프라인에서는 인증서/프로파일을 생성하지 않고 읽기만 하면 되므로 다음 옵션을 추가할 수 있습니다.
# CI | readonly true # 생성 금지, clone 만 git_branch "main" # 고정 브랜치 지정작업 유형별로 lane 분리 후
match(type: "appstore", readonly: true)형태로 호출하면 불필요한 네트워크 지연을 줄일 수 있습니다.
📜 Review details
Configuration used: .coderabbit.yaml
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (8)
.gitignore(1 hunks)Poppool/Gemfile(1 hunks)Poppool/Poppool.xcodeproj/project.pbxproj(4 hunks)Poppool/Poppool/Resource/Info.plist(1 hunks)Poppool/PresentationLayer/SearchFeature/SearchFeature.xcodeproj/project.pbxproj(4 hunks)Poppool/fastlane/Appfile(1 hunks)Poppool/fastlane/Fastfile(1 hunks)Poppool/fastlane/Matchfile(1 hunks)
🔇 Additional comments (14)
Poppool/Poppool/Resource/Info.plist (1)
21-21: CFBundleVersion 하드코딩은 자동 증분 흐름과 충돌할 수 있습니다
$(CURRENT_PROJECT_VERSION)자리표시자를 제거하고 실제 값을 넣으면 Fastlane의increment_build_number나 Xcodeagvtool사용 시 Info.plist 와 프로젝트 설정 간 숫자 불일치가 발생할 수 있습니다. CI 단계에서 빌드 번호를 덮어씌우도록 되어 있다면 문제 없지만, 그렇지 않다면 placeholder 유지 또는 스크립트를 통한 동기화가 필요합니다. 설정 의도를 한 번 더 확인해 주세요..gitignore (1)
48-48: 환경 변수 파일 무시 추가 👍
.env파일을 무시하도록 한 것은 비밀 키 유출 위험을 줄여 줍니다. 추가 조치 없이 승인합니다.Poppool/fastlane/Fastfile (3)
1-15: 표준 fastlane 설정 구성이 적절합니다.fastlane의 표준 헤더 주석과 설정이 올바르게 구성되어 있습니다. 자동 업데이트 옵션이 주석 처리되어 있어 안정적인 빌드 환경을 유지할 수 있습니다.
16-17: iOS 플랫폼 설정이 올바릅니다.기본 플랫폼을 iOS로 설정하여 명확한 타겟을 지정했습니다.
18-30: beta 레인 구현 검토 완료
- 타임스탬프 기반 빌드 번호 생성 방식이 적절합니다.
match(type: "appstore")를 통한 자동 서명 설정이 올바릅니다.- 워크스페이스 및 스킴 지정이 정확합니다.
•Poppool.xcworkspace디렉토리
•Poppool.xcodeproj
•fastlane/Appfile,fastlane/Matchfile위 요소가 모두 프로젝트에 존재함을 확인했으므로 코드 변경사항을 승인합니다.
Poppool/PresentationLayer/SearchFeature/SearchFeature.xcodeproj/project.pbxproj (4)
681-681: 개발 팀 ID 업데이트가 올바르게 적용되었습니다.Debug 구성에서 개발 팀 ID가 새로운 팀 ID "9JZYRP3D46"로 업데이트되어 메인 프로젝트와 일치합니다.
698-698: 프로비저닝 프로파일이 fastlane match 패턴으로 업데이트되었습니다.Debug 구성에서 프로비저닝 프로파일 지정자가 "match Development com.poppoolIOS.*" 패턴으로 변경되어 fastlane match와 일치합니다.
717-721: Release 구성의 코드 서명 설정이 Manual 스타일로 변경되었습니다.Release 구성에서 코드 서명 ID가 "iPhone Developer"로 설정되고 스타일이 Manual로 변경되어 fastlane match와 일치합니다. 개발 팀 ID도 동일하게 업데이트되었습니다.
737-738: Release 구성의 프로비저닝 프로파일 설정이 적절합니다.Release 구성에서도 프로비저닝 프로파일이 match 패턴으로 업데이트되어 일관된 설정을 유지합니다.
Poppool/Poppool.xcodeproj/project.pbxproj (5)
427-427: Debug 구성의 코드 서명 ID가 Development로 변경되었습니다.Debug 구성에서 코드 서명 ID가 "iPhone Developer"로 변경되어 개발 빌드에 적합한 설정으로 업데이트되었습니다.
429-429: 빌드 번호가 타임스탬프 형식으로 업데이트되었습니다.
CURRENT_PROJECT_VERSION이 "250715.1858"로 업데이트되어 Fastfile의 타임스탬프 기반 빌드 번호 생성과 일치합니다. Debug와 Release 구성 모두에 적용되어 일관성을 유지합니다.Also applies to: 476-476
431-431: 개발 팀 ID가 새로운 팀으로 업데이트되었습니다.
DEVELOPMENT_TEAM[sdk=iphoneos*]이 "9JZYRP3D46"로 변경되어 새로운 Apple Developer 팀 설정과 일치합니다. Debug와 Release 구성 모두에 적용되었습니다.Also applies to: 478-478
449-449: 마케팅 버전이 1.1.2로 업데이트되었습니다.
MARKETING_VERSION이 "1.1.2"로 증가하여 새로운 릴리스 버전을 반영합니다. Debug와 Release 구성 모두에 적용되었습니다.Also applies to: 496-496
453-453: 프로비저닝 프로파일이 fastlane match 패턴으로 업데이트되었습니다.Debug 구성에서는 "match Development com.poppoolIOS.poppool", Release 구성에서는 "match AppStore com.poppoolIOS.poppool"로 설정되어 각각의 빌드 타입에 적합한 프로비저닝 프로파일을 사용합니다.
Also applies to: 500-500
zzangzzangguy
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM~!
📌 이슈
✅ 작업 사항
📝 추가 전달
추후 앱스토어 자동 배포 구성과 GitHub Actions를 이용해서 git flow 전략과 통합할 예정입니다. 우선적으로는 match를 이용한 자동 인증서 관리과 beta만 추가해두었습니다.
2주 뒤 있을 1.1.3 배포때 구성해보겠습니다.
Summary by CodeRabbit
새로운 기능
스타일
버그 수정
문서